Bài này sẽ hướng dẫn bạn update dữ liệu vào MySQL trong PHP bằng cách sử dụng MySQLi và PDO.
Câu lệnh UPDATE được sử dụng để thay đổi dữ liệu của một hoặc nhiều bản ghi của bảng.
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
Lưu ý: mệnh đề WHERE trong câu lệnh UPDATE: Mệnh đề WHERE chỉ định các bản ghi nào cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ được cập nhật!
Giả sử bảng "MyGuests" có 2 bản ghi như sau:
Các ví dụ sau cập nhật bản ghi với id = 2 trong bảng "MyGuests":
Ví dụ (MySQLi hướng đối tượng)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // tạo connection $conn = new mysqli($servername, $username, $password, $dbname); // kiểm tra connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2"; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $conn->error; } $conn->close(); ?>
Ví dụ (MySQLi hướng thủ tục)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // tạo connection $conn = mysqli_connect($servername, $username, $password, $dbname); // kiểm connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2"; if (mysqli_query($conn, $sql)) { echo "Record updated successfully"; } else { echo "Error updating record: " . mysqli_error($conn); } mysqli_close($conn); ?>
Ví dụ (PDO)
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); // cài đặt chế độ PDO error thành ngoại lệ $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE MyGuests SET lastname='Tan' WHERE id=2"; // Prepare statement $stmt = $conn->prepare($sql); // execute the query $stmt->execute(); // hiển thị thông báo Update thành công echo $stmt->rowCount() . " records UPDATED successfully"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?>
Dưới đây là bảng "Myguests" sau khi được cập nhật: