บันทึกเวลา ลงฐานข้อมูล PHP บทความนี้สอนวิธีการบันทึกเวลาลงฐานข้อมูล โดยสอน 2 วิธีคือ บันทึกเวลาตามที่ต้องการ และบันทึกเวลาแบบอัตโนมัติ ณ เวลาที่โปรแกรมทำงาน สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง โครงสร้างตาราง product
+--------+----------+------+-----+-------------------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+-------------------+-------------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | char | NO | | NULL | |
| amount | int | NO | | NULL | |
| date | datetime | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+--------+----------+------+-----+-------------------+-------------------+
ตัวอย่างที่ 1 บันทึกเวลา ลงฐานข้อมูล PHP ตามเวลาที่ต้องการ
<?php
$c = mysqli_connect("localhost", "root", "", "demo");
mysqli_query($c, "SET NANES UTF8");
$date = "2022-10-30 10:30:00";
$sql = "
INSERT INTO
product ( name, amount, date )
VALUES ( 'Test', 10, '{$date}' )
";
$q = mysqli_query( $c, $sql );
mysqli_close( $c );
?>
ผลลัพธ์
+----+------+--------+---------------------+
| id | name | amount | date |
+----+------+--------+---------------------+
| 6 | Test | 10 | 2022-10-30 10:30:00 |
+----+------+--------+---------------------+
จากตัวอย่างสร้างตัวแปรชื่อ date พร้อมข้อมูล "2022-10-30 10:30:00" จากนั้นนำไปบันทึกลงฐานข้อมูล product ด้วยคำสั่ง INSERT INTO ที่ column ชื่อ date พร้อมประมวลผลด้วยคำสั่ง mysqli_query
ตัวอย่างที่ 2 บันทึกเวลา ลงฐานข้อมูล PHP บันทึกเวลาแบบอัตโนมัติ
<?php
$c = mysqli_connect("localhost", "root", "", "demo");
mysqli_query($c, "SET NANES UTF8");
$sql = "
INSERT INTO
product ( name, amount )
VALUES ( 'Demo', 20 )
";
$q = mysqli_query( $c, $sql );
mysqli_close( $c );
?>
ผลลัพธ์
+----+------+--------+---------------------+
| id | name | amount | date |
+----+------+--------+---------------------+
| 7 | Demo | 20 | 2022-10-30 10:41:09 |
+----+------+--------+---------------------+
จากตัวอย่าง INSERT ข้อมูลลงตาราง product โดยไม่ระบุ column date ซึ่งจะเป็นการให้ฐานข้อมูลเพิ่มวันที่ เวลา ณ ปัจจุบันให้เองอัตโนมัติ เนื่องจาก column date มีการกำหนด Default Value ไว้เป็น CURRENT_TIMESTAMP