Anda tidak menggunakan fitur binding PDO dengan benar. Anda harus melakukan sesuatu seperti berikut:
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
));
}
Pertama, Anda perlu meletakkan seluruh string untuk diikat ke dalam kunci array binding. Jadi Anda memasukkan ':id'
daripada 'id'
. Anda juga memasukkan variabel langsung ke dalam kueri dalam kasus $table
dan $value
, tetapi kemudian mencoba untuk mengikatnya satu sama lain, yang tidak masuk akal.
Sunting:nama tabel dan kolom tidak dapat diikat menggunakan PDO.