Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PDO::ATTR_EMULATE_PREPARES in FALSE geändert und Fehlermeldung „Ungültige Parameternummer“ erhalten

Der Fehler ist auf die Wiederholung eines Platzhalters zurückzuführen . Jeder Platzhalter muss eindeutig sein, auch wenn Sie denselben Parameter daran binden.

AND ((type='employer' AND owner_id=:02)
OR (type='employee' AND winner_id=:02))

Sollte lauten:

AND ((type='employer' AND owner_id=:02)
OR (type='employee' AND winner_id=:another02))

Und dann daran binden:

$dbStatement->bindParam(':01',$Type);
$dbStatement->bindParam(':02',$UserID);
$dbStatement->bindParam(':another02',$UserID);
$dbStatement->bindParam(':03',$Most);