รูปแบบ หรือโครงสร้างของ SQL ในการอัพเดทข้อมูลในตาราง
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
จากรูปแบบด้านบนแบ่งออกเป็น 3 ส่วนคือ
1.UPDATE table_name
- ชื่อตารางที่ต้องการอัพเดทข้อมูล
2.SET column1=value, column2=value2,…
- กำหนดค่าข้อมูลของแต่ละคอลัมน์
3.WHERE some_column=some_value
- เจาะจงคอลัมน์ที่มีค่าเท่ากับ …
คำเตือน
หากไม่กำหนดส่วนที่ 3 SQL จะทำการอัพเดทข้อมูลทั้งตาราง
ตัวอย่างตารางข้อมูล
MyGuests | |||
id | name | age | gender |
1 |
Pawin TH |
23 | Male |
2 |
Nawin TH |
24 | Male |
3 |
Warin TH |
25 | Female |
ตางรางที่ 1 ตัวอย่างตารางข้อมูล
ตัวอย่างโค้ดในการอัพเดทข้อมูล โดยยกตัวอย่างทั้งการในรูปแบบ MySQLi และ PDO
1.MySQLi (Object-Oriented)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "UPDATE MyGuests SET name='Ant TH' WHERE id=2"; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $conn->error; } $conn->close(); ?>
ไฟล์ที่ 1 อัพเดทข้อมูล MySQLi (Object-Oriented)
2.MySQLi Procedural
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "UPDATE MyGuests SET name='Ant TH' WHERE id=2"; if (mysqli_query($conn, $sql)) { echo "Record updated successfully"; } else { echo "Error updating record: " . mysqli_error($conn); } mysqli_close($conn); ?>
ไฟล์ที่ 2 อัเดทข้อมูล MySQLi Procedural
3.PDO
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE MyGuests SET name='Ant TH' WHERE id=2"; // Prepare statement $stmt = $conn->prepare($sql); // execute the query $stmt->execute(); // echo a message to say the UPDATE succeeded echo $stmt->rowCount() . " records UPDATED successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
ไฟล์ที่ 3 อัพเดทข้อมูล PDO
ผลลัพธ์จากทั้ง 3 ไฟล์คือ
MyGuests | |||
id | name | age | gender |
1 |
Pawin TH |
23 | Male |
2 |
Ant TH |
24 | Male |
3 |
Warin TH |
25 | Female |
ตารางที่ 2 ตารางแสดงข้อมูลผลลัพธ์