วิธีตรวจสอบข้อมูลไม่เข้าฐานข้อมูล PHP และ MySQL บทความนี้กล่าวถึงวิธีการตรวจสอบกรณีที่ไม่สามารถเพิ่มข้อมูลลงฐานข้อมูลได้ ข้อมูลไม่แสดงในฐานข้อมูล เฉพาะส่วนที่เกี่ยวข้องกับการเขียนโปรแกรม โดยมีรายละเอียดดังนี้
ตัวอย่าง วิธีตรวจสอบข้อมูลไม่เข้าฐานข้อมูล PHP และ MySQL
1. ตรวจสอบว่าเชื่อมต่อฐานข้อมูล MySQL สำเร็จหรือไม่
<?php
$con = mysqli_connect("localhost", "root", "", "demo");
if (mysqli_connect_errno()) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้ เพราะ ".mysqli_connect_error();
exit();
} else {
echo "เชื่อมต่อฐานข้อมูลสำเร็จ";
}
?>
2. ตรวจสอบว่าตัวแปรที่รับจากผู้ใช้งานส่งมาหรือไม่ และได้รับค่าตัวแปรเหล่านั้นหรือยัง
<?php
var_dump( $_POST ); //ตรวจสอบตัวแปรที่ส่งมาแบบ POST
var_dump( $_GET ); //ตรวจสอบตัวแปรที่ส่งมาแบบ GET
isset( $_POST['name'] ) ? $name = $_POST['name'] : $name = ""; //รับค่าตัวแปร name แบบ POST
isset( $_GET['name'] ) ? $name = $_GET['name'] : $name = ""; //รับค่าตัวแปร name แบบ GET
?>
3. ตรวจสอบคำสั่ง SQL ว่าถูกต้องหรือไม่ ด้วยการพิมพ์คำสั่ง SQL ออกหน้าจอ และคัดลอกคำสั่งดังกล่าวไปรันผ่านโปรแกรม เช่น phpMyAdmin
<?php
$sql = " INSERT INTO test ( name ) VALUES ( '{$name}' ) ";
echo $sql;
?>
4. อย่าลืมใช้คำสั่ง query เพื่อประมวลผลคำสั่ง SQL
<?php
$sql = " INSERT INTO test ( name ) VALUES ( '{$name}' ) ";
mysqli_query( $con, $sql );
?>
5. Column ที่เป็น Primary Key ของตารางอย่าลืมกำหนด Auto Increment เพื่อให้เวลาเพิ่มข้อมูลจะได้ไม่ต้องกำหนดรหัสด้วยตัวเอง
+---------+-----------+------+-----+-----------+--------------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-----------+------+-----+-----------+--------------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(50) | NO | | NULL | |
+---------+-----------+------+-----+-----------+--------------------+