PHP ส่งค่าเข้า Database ฐานข้อมูล MySQL/MariaDB บทความนี้สอนการสร้างฟอร์ม HTML และส่งค่าแบบ POST ไปบันทึกเข้า Database ฐานข้อมูล MySQL/MariaDB พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง โครงสร้างตาราง test
+-------+-----------+------+-----+
| Field | Type | Null | Key |
+-------+-----------+------+-----+
| id | int(11) | NO | PRI |
| name | char(255) | YES | |
+-------+-----------+------+-----+
ตัวอย่าง PHP ส่งค่าเข้า Database ฐานข้อมูล MySQL/MariaDB
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
ชื่อ <input type="text" name="name">
<input type="submit" value="บันทึก">
</form>
<?php
isset( $_POST['name'] ) ? $name = $_POST['name'] : $name = "";
if( !empty( $name ) ) {
$c = mysqli_connect("localhost", "root", "", "demo");
mysqli_query( $c, "SET NAMES UTF8" );
$sql = " INSERT INTO test VALUES ( NULL, '{$name}' ) ";
$q = mysqli_query( $c, $sql );
if( $q ) {
echo "เก็บข้อมูลเข้า Database เรียบร้อยแล้ว";
}
mysqli_close( $c );
}
?>
ผลลัพธ์
เก็บข้อมูลเข้า Database เรียบร้อยแล้ว
PHP ส่งค่าเข้า Database ฐานข้อมูล MySQL/MariaDB มีขั้นตอนการพัฒนาโปรแกรม และรายละเอียดดังนี้
1. สร้างฟอร์ม HTML กำหนดตัวแปร name ให้กับ TextBox เมื่อผู้ใช้งานกรอกข้อมูล และกดปุ่มบันทึก ตัวแปร name จะถูกส่งไปที่ script PHP
2. ที่ PHP รับค่าคัวแปร name ด้วย $_POST จากนั้นเช็คว่ามีข้อมูลหรือไม่ด้วย คำสั่ง if ร่วมกับ empty กรณีมีข้อมูลให้เข้าไปทำงานในคำสั่ง if
3. เชื่อมต่อฐานข้อมูล demo ด้วยคำสั่ง mysqli_connenct และกำหนดให้ประมวลผลด้วยอักขระ UTF8
4. ใช้คำสั่ง INSERT INTO test เพื่อเพิ่มข้อมูลลงในตาราง test โดยข้อมูลคือ VALUES ( NULL, '{$name}' ) หมายถึง id เป็น auto_increment ส่วน name คือค่าในตัวแปร name ที่ส่งมาจากฟอร์ม
5. รันคำสั่ง SQL จากขั้นตอนที่ 4 ด้วยคำสั่ง mysqli_query กรณีถ้าเพิ่มข้อมูลสำเร็จให้พิมพ์ข้อความ “เก็บข้อมูลเข้า Database เรียบร้อยแล้ว” ออกสู่หน้าจอ และปิดการเชื่อมต่อฐานข้อมูล ด้วย mysqli_close