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

LIKE-Abfrage in PDO implementieren

Sie müssen den % angeben Zeichen in $params , nicht in der Abfrage:

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

Wenn Sie sich die generierte Abfrage in Ihrem vorherigen Code ansehen, sehen Sie so etwas wie SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , da die vorbereitete Anweisung Ihre Werte innerhalb einer bereits in Anführungszeichen gesetzten Zeichenfolge angibt.