Funkci vazeb PDO nepoužíváte zcela správně. Měli byste udělat něco jako následující:
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
));
}
Nejprve musíte vložit celý řetězec, který má být svázán, do klíče pole vazeb. Takže vložíte ':id'
spíše než 'id'
. Také jste vkládali proměnné přímo do dotazu v případě $table
a $value
, ale pak se je pokoušet svázat k sobě, což nedává smysl.
Upravit:tabulky a názvy sloupců nelze svázat pomocí PDO.