sql >> Databasteknik >  >> RDS >> Mysql

Ändrade PDO::ATTR_EMULATE_PREPARES till FALSE och får ett fel på Ogiltigt parameternummer

Felet beror på upprepning av en platshållare . Varje platshållare måste vara unik, även om du binder samma parameter till den.

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

Bör vara:

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

Och bind sedan till det:

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



  1. Testar PostgreSQL-funktioner som konsumerar och returnerar refkursor

  2. Vilka privilegier krävs i MySQL för att exekvera en trigger?

  3. CS50:LIKE-operator, variabel substitution med % expansion

  4. MySQL-utvalda genrerproblem (php)