แนวทางแก้ปัญหา insert ข้อมูลลง database php ไม่ได้

แชร์ประสบการณ์เขียนโค้ด php + Mysql เล็ก ๆ น้อย ๆ เผื่อจะเป็นประโยชน์กับใครสักคน...
 
ปัญหาการเพิ่มข้อมูลแล้วข้อมูลไม่เข้า คือ บันทึกไม่ได้ ไม่มีอะไรเกิดขึ้น ไม่รู้ว่าเป็นเพราะอะไร แล้วจะต้องแก้ไขอย่างไรดีนั้น ผมเองก็ยังเจออยู่บ่อย ๆ คิดว่าตัวเองจำได้หมดล่ะ รูปแบบการ Insert แต่มันมีหลายส่วนที่เกี่ยวข้องกัน ไม่ว่าจะเป็น
  • รูปแบบของคำสั่ง sql ในการ Insert ข้อมูลไปยังฐานข้อมูล Mysql ตัวอย่างเช่น Insert into Student Set std_id='$std_id',std_name='$std_name'........... ปรกติผมจะใช้แบบนี้นะครับ หลายคนอาจจะยังไม่เคยใช้ แต่สำหรับผม ผมคิดว่าคำสั่ง sql แบบนี้ล่ะง่ายสุด ๆ แล้ว ที่สำคัญเวลาจะสั่ง Update ก็ง่ายแสนง่าย เพียงแค่เปลี่ยนจาก Insert Into เป็น Update เท่านั้นเอง ในส่วนของรูปแบบคำสั่งนี้ ต้องดูให้ดีว่าเขียนชื่อฟิวด์ถูกไหม เครื่องหมายฟันเดี่ยว เครื่องหมายคอมม่า ถูกต้องหรือเปล่า (อันนี้สำคัญมากๆ ครับ)
  • ตัวแปรที่รับค่าข้อมูล ที่ถูกส่งมาจากฟอร์มเพื่อบันทึก เช่น ในฟอร์มตั้งชื่อตัวแปลว่าอย่างไร ตอน Insert ก็ต้องเขียนชื่อตัวแปรให้ถูกต้องด้วย ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ก็มีผล เพราะระบบจะมองว่าเป็นคนล่ะตัวกัน ดังนั้นชื่อตัวแปรต้องแน่ใจว่าพิมพ์ถูกต้อง
  • รูปแบบการส่งข้อมูลจากฟอร์ม ส่วนมากการส่งค่าจากฟอร์มจะส่งแบบ POST แต่รับค่าก็ต้องรับค่า $_POST['std_id'] แบบนี้ด้วยนะครับ ถ้ารับค่าแค่ $std_id แบบนี้จะไม่มีค่าอะไรออกมาเลย
สำหรับผม ผมมีฟังก์ชั่นเล็ก ฟังก์ชั่นนึง ที่ช่วยในการ Debug โค้ดพวกนี้ เวลารันไม่ผ่าน ต้องใช้ฟังก์ชั่นนี้ทันที นั่นก็คือ ECHO() นั่นเอง ไม่ว่าจะเป็นตัวแปร หรือคำสั่ง sql ก็สามารถใช้แสดงค่าข้อมูลในตัวแปรนั้น ๆ ได้เลย เช่น
 
$sql="Insert into Student Set std_id='$std_id',std_name='$std_name'";
echo $sql;
 
หรือ
 
 
echo $std_id; //อันนี้ไม่แนะนำนะครับ
echo $_POST['std_id']; //ควรใช้แบบนี้ทุกครั้งที่ส่งค่าจากฟอร์ม
กรณี Echo คำสั่ง sql เราก็จะได้คำสั่งภาษา sql query ประมาณนี้ครับ
 
 
Insert into Student Set std_id='0001',std_name='สมชาย ใจดี'
 
หลังจาก Echo คำสั่ง sql ออกได้แล้ว ก็จะได้ค่าที่พร้อมจะ Insert เข้าไปยังฐานข้อมูล ก็ให้ทำการคัดลอก หรือ copy คำสั่งนั้น ไปรันเทสใน PHPMyAdmin ดู ติดตรงไหน ควรแก้อย่างไร ระบบจะแจ้งเราอีกที
 
 
 
แนวทางแก้ปัญหาการ Insert ข้อมูลเข้าดาต้าเบส Mysql ไม่ได้ก็ประมาณนี้ครับ หวังว่าจะเป็นประโยชน์กันหลาย ๆ คนที่กำลังเจอปัญหานี้ หากทำตามที่แนะนำหมดแล้ว หรือไม่เข้าใจตรงไหน ก็ยินดีให้คำปรึกษานะครับ หวังว่าบทความนี้ จะเป็นประโยชน์กับโปรแกรมเมอร์หลาย ๆ ท่านที่กำลังติดปัญหาการเพิ่มข้อมูลไม่ได้ 
 
ขอบคุณทุกท่านที่แวะเข้ามาเยี่ยมชมเว็บไซต์ของเรา www.code-father.com
 
 


My Article
แนะนำเว็บสูตรหวยออนไลน์ ดูฟรี