วิธีการตรวจสอบ check query error mysqli การ debug PHP ง่ายๆ

แชร์ประสบการณ์เขียนโค้ด php + Mysql เล็ก ๆ น้อย ๆ เผื่อจะเป็นประโยชน์กับใครสักคน...
 
การตรวจสอบหรือเช็คค่าจากคำสั่ง sql query ก่อนทำการ Insert หรือ Update นั้น มีความสำคัญอย่างมาก ผมเองก็ต้องตรวจสอบก่อนเสมอ ว่าตัวแปรที่ส่งค่ามา ถุกต้องหรือเปล่า คำสั่ง sql query ที่เราเขียนถูกต้องตามรูปแบบ syntax หรือไม่ ทำไปก็เทสไป ไม่ต้องรีบร้อนนะครับ
 
ดีกว่ารีบทำ ทำไปเยอะ ๆแล้วมันจะกลับมาหาจุดเกิดเหตุได้ลำบากมาก ๆ อย่างที่เขาเรียกว่า วางยาตัวเอง สำหรับผม ผมใช้วิธีการง่าย ๆ ฟังก์ชั่นเล็ก ๆ ของ PHP นี่ล่ะครับ ในการ Debug code php ส่วนจะเป็นฟังก์ชั่นไหนนั้น มาดูไปพร้อม ๆ กันได้เลยครับ
 
หากผมเกิดสงสัยตัวแปรอะไรก็ตาม หรือส่งค่าไปแล้ว ระบบไม่สามารถทำงานได้ตามที่ควรจะเป็น ผมจะ ECHO() ตัวแปรนั้นดูก่อนเลย เช่น
 
 
<?php 
  echo $_POST['std_id'];
    echo $_GET['Action'];
?>
 
ถ้าเป็นคำสั่ง sql query ก็สามารถเอาตัวแปรมารับค่ำสั่งก่อน จากนั้นก็ค่อย ECHO() ตัวแปรนั้น ๆ ดู ว่าผลที่ได้ ถูกต้อง ครบถ้วนเหมือนที่ส่งค่ามาจากฟอร์มหรือไม่ เช่น
 
<?php
   if($_GET['Action']=="INSERT'){
          $sql="INSERT  INTO  student set std_id='".$std_id."',card_id='".$card_id."',gender='".$gender."',full_name='".$full_name."',class='".$class."',Email='".$Email."',birthdate='".$birthdate."',timein='".$timein."',std_pic='".$std_pic."',std_file='".$std_file."',cn_id='".$cn_id."',subject1='".$subject1."',subject2='".$subject2."',subject3='".$subject3."',subject4='".$subject4."',remark='".$remark."'";
          echo $sql;
          mysqli_query($conn,$sql);
   }
?>
 
ก็จะได้โค้ดคำสั่ง sql query ประมาณนี้ออกมา
 
INSERT INTO student set std_id='1111',card_id='1111111111111',gender='1',full_name='สมชาย ใจไม่ด้านพอ',class='4',Email='nay-banana@hotmail.com',birthdate='2019-07-24',timein='10:50:36',std_pic='',std_file='',cn_id='10',subject1='checked',subject2='',subject3='checked',subject4='',remark='0141'
 
เราก็คัดลอก หรือ copy คำสั่งนี้ ไปรันเทสใน PHPMyAdmin ตรงช่อง sql ได้เลย
 
 
หากโค้ดหรือคำสั่งถูกต้องก็จะสามารถเพิ่มข้อมูลเข้าไปได้ แต่ถ้าโค้ดหรือคำสั่ง sql query ไม่ถูกต้อง ระบบก็จะแจ้งออกมาว่าไม่ถูกต้อง เราก็นั่งไล่ตรวจสอบรูปแบบ syntax ให้ถูกต้อง พวกฟันเดี่ยว เครื่องหมายคอมม่า แล้วก็ เซมิโคล่อนปิดท้ายคำสั่งด้วยนะครับ
 
 


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