Mysql
 sql >> Database >  >> RDS >> Mysql

implementare la query LIKE in PDO

Devi includere il % firma nel $params , non nella query:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

Se guardi la query generata nel tuo codice precedente, vedresti qualcosa come SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , perché l'istruzione preparata cita i tuoi valori all'interno di una stringa già citata.