Du bruger ikke bindingsfunktionen i PDO helt rigtigt. Du bør gøre noget i stil med følgende:
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 skal du sætte hele strengen, der skal bindes, ind i nøglen til bindingsarrayet. Så du sætter ':id'
i stedet for 'id'
. Du satte også variablerne direkte ind i forespørgslen i tilfælde af $table
og $value
, men så forsøge at binde dem til hinanden, hvilket ikke giver mening.
Rediger:Tabeller og kolonnenavne kan ikke bindes med PDO.