Hallo an alle.
meine Frage ist wo ich meinen Fehler habe.
Ich versuche ein Update in einer Tabelle zu machen und zwar so:
hinter $db->prepare($update); ist:
und hinter $db->execute() ist:
diese Methoden sind einer SQL Klasse ausgelagert.
Als Fehler bekomme ich:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
Ich habe aber doch 3 Placeholders wieso soll das falsch sein?
Und ich möchte es auf jeden fall wenn es geht mit den Positional Placeholders machen.
Hat jemand eine Idee wo mein Fehler ist?
Gruß
René
meine Frage ist wo ich meinen Fehler habe.
Ich versuche ein Update in einer Tabelle zu machen und zwar so:
PHP-Code:
$update = "UPDATE people SET Name=?, Age=? WHERE PersonId=? VALUES (?, ?, ?)";
$db = new db();
$db->prepare($update);
$db->bindParam(1, $name);
$db->bindParam(2, $age);
$db->bindParam(3, $personid);
$db->execute();
PHP-Code:
public function prepare($query)
{
self::$stmt = self::$PDOInstance->prepare($query);
}
PHP-Code:
public function execute()
{
self::$stmt->execute();
}
Als Fehler bekomme ich:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
Ich habe aber doch 3 Placeholders wieso soll das falsch sein?
Und ich möchte es auf jeden fall wenn es geht mit den Positional Placeholders machen.
Hat jemand eine Idee wo mein Fehler ist?
Gruß
René
Kommentar