ในปัจจุบันการพัฒนาแอปพลิเคชันที่ใช้ฐานข้อมูลถือเป็นสิ่งที่สำคัญมาก และ MySQL เป็นฐานข้อมูลที่ได้รับความนิยมสูง ในบทความนี้เราจะมาพูดถึงการ INSERT ข้อมูลลงในตาราง MySQL ด้วย Prepared Statements ผ่านภาษา Node.js ซึ่งจะช่วยให้การทำงานของเราเป็นระเบียบมากยิ่งขึ้นและช่วยป้องกัน SQL Injection ที่อาจเกิดขึ้นได้
การใช้ Prepared Statements มีข้อดีมากมาย โดยเฉพาะในด้านความปลอดภัย เนื่องจากมันช่วยปกป้องการโจมตีแบบ SQL Injection โดยการแยกคำสั่ง SQL ออกจากข้อมูลที่ถูกส่งมา ตัวอย่างเช่น หากเรามีคำสั่ง SQL แบบนี้:
ถ้าผู้ใช้สามารถส่งข้อมูลผ่านตัวแปร `userinput` เพื่อให้เกิด SQL Injection ก็อาจจะทำให้เกิดภัยคุกคามได้ ด้วย Prepared Statements เราสามารถใช้ `?` แทนค่าที่จะถูกกรอกได้อย่างปลอดภัย
ก่อนอื่นเราต้องติดตั้ง `mysql` package ใน Node.js กันก่อน ด้วยคำสั่ง:
หรือถ้าคุณใช้ `mysql2` เราสามารถติดตั้งด้วยคำสั่ง:
เราจะเริ่มจากการสร้าง Connection ไปยังฐานข้อมูล MySQL ก่อน จากนั้นเราจะเขียนฟังก์ชันเพื่อลงข้อมูลในตาราง ด้วย Prepared Statements
เราใช้ `mysql.createConnection` เพื่อสร้าง connection ไปยังฐานข้อมูล MySQL โดยต้องระบุ host, user, password และ database
2. การเชื่อมต่อ:ด้วย `connection.connect` จะทำการเชื่อมต่อกับฐานข้อมูล หากเกิดข้อผิดพลาดจะพิมพ์ออกมาใน console
3. การ Insert ข้อมูล:สร้างฟังก์ชัน `insertData` ซึ่งมี parameter คือ `name` และ `age` โดยใช้คำสั่ง `INSERT INTO` เป็น Prepared Statement
4. การเรียกใช้ฟังก์ชัน:เรียกใช้ `insertData` พร้อมกับข้อมูลที่ต้องการเก็บ
5. การปิดการเชื่อมต่อ:ด้วย `connection.end` จะทำการปิดการเชื่อมต่อเมื่อการทำงานเสร็จเรียบร้อย
การใช้ Prepared Statements สามารถนำไปประยุกต์ใช้ในหลากหลายสถานการณ์ เช่น:
- ระบบสมัครสมาชิก: ระบบใหม่ที่สร้างขึ้นเพื่อให้ผู้ใช้สามารถสมัครสมาชิก โดยการเก็บข้อมูลลงในฐานข้อมูลเพื่อให้สามารถเก็บข้อมูลผู้ใช้ได้อย่างปลอดภัย - เว็บไซต์ขายสินค้า: ในกรณีที่ผู้ซื้อทำการสั่งซื้อสินค้า เว็บไซต์จะต้องบันทึกข้อมูลการจับจ่ายใช้สอย ซึ่งการใช้ Prepared Statements จะช่วยลดความยุ่งยากและปัญหาความปลอดภัย - แอปพลิเคชันจัดการผู้ใช้: ระบบจัดการการเข้าถึงว่าผู้ใช้คนไหนมีสิทธิ์อะไร โดยการเก็บข้อมูลในฐานข้อมูลด้วยวิธีนี้
การใช้ MySQL INSERT Data with Prepared Statements นอกจากจะช่วยในเรื่องความปลอดภัยแล้วยังทำให้โค้ดอ่านง่ายและดูสะอาดตาขึ้นอีกด้วย ด้วยวิธีนี้คุณสามารถพัฒนาแอปพลิเคชันที่มั่นคงและปลอดภัยได้มากยิ่งขึ้น
หากคุณมีความสนใจในการเรียนรู้การเขียนโปรแกรมเพิ่มเติม ไม่ว่าจะเป็นการพัฒนาเว็บหรือแอปพลิเคชัน สามารถมาเรียนรู้กับเราได้ที่ EPT (Expert-Programming-Tutor) สถาบันการเรียนรู้ที่พร้อมจะช่วยให้คุณพัฒนาเป็นนักพัฒนาที่มีคุณภาพ โดยที่ท่านจะได้เรียนรู้จากผู้เชี่ยวชาญ พร้อมกับการจัดการสอนแบบลงมือทำที่เน้นความเข้าใจ ในการทำงานจริง!
เราหวังว่าบทความนี้จะเป็นประโยชน์สำหรับคุณในการพัฒนาความสามารถในด้านการเขียนโปรแกรมนะครับ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com