Bạn không sử dụng tính năng ràng buộc của PDO khá đúng. Bạn nên làm như sau:
public function update($table, $key, $value, $id) {
$stmt = $this->conn->prepare(
"UPDATE $table SET $key = :value WHERE id = :id"
);
return $stmt->execute(array(
':value' => $value,
':id' => $id
));
}
Đầu tiên, bạn cần đặt toàn bộ chuỗi cần ràng buộc vào khóa của mảng ràng buộc. Vì vậy, bạn đặt ':id'
thay vì 'id'
. Ngoài ra, bạn đã đặt các biến trực tiếp vào truy vấn trong trường hợp $table
và $value
, nhưng sau đó cố gắng liên kết chúng với nhau, điều này không có ý nghĩa.
Chỉnh sửa:không thể liên kết các bảng và tên cột bằng PDO.