sql >> Database >  >> RDS >> Mysql

PDO - zoekopdracht geeft geen resultaat

Het probleem hier is dat je parameters bindt met bindParam , die gebruikmaakt van binding door verwijzing. In jouw geval moet je bindValue . gebruiken in plaats daarvan:

foreach( $binders as $key => $value ) {
    $sql->bindValue( $key, $value );
}

Of u kunt uw array rechtstreeks doorgeven aan execute() methode:

$sql->execute( $binders );

Zoals beschreven in de handleiding:

the variable is bound as a reference and will only be evaluated at the time that PDOStatement::execute() is called.

Dus wanneer je foreach-lus eindigt $value heeft waarde van laatste array-item Apple . Dus wanneer execute wordt uitgevoerd, beide :ctid en :p1 waarden worden gelijk aan Apple . Dit is zeker niet wat je wilt)



  1. Mysql Like met wildcart die onverwacht resultaat geeft

  2. RDLC LocalReport Export naar Excel erg traag

  3. Php mysql database maken als deze niet bestaat

  4. Verbinding maken met Docker MySQL-container van localhost?