Не използвате функцията за свързване на PDO съвсем правилно. Трябва да направите нещо като следното:
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
));
}
Първо, трябва да поставите целия низ, който трябва да бъде обвързан, в ключа на свързващия масив. Така че поставяте ':id'
вместо 'id'
. Освен това поставихте променливите директно в заявката в случай на $table
и $value
, но след това се опитва да ги свърже един с друг, което няма смисъл.
Редактиране:имената на таблиците и колоните не могат да се обвързват с PDO.