Du använder inte bindningsfunktionen i PDO helt rätt. Du bör göra något i stil med följande:
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
));
}
Först måste du lägga hela strängen som ska bindas in i nyckeln för bindningsmatrisen. Så du sätter ':id'
istället för 'id'
. Du satte också variablerna direkt i frågan i fallet med $table
och $value
, men sedan försöka binda dem till varandra, vilket inte är vettigt.
Redigera:tabeller och kolumnnamn kan inte bindas med PDO.