sql >> Databasteknik >  >> RDS >> Mysql

implementera LIKE-fråga i PDO

Du måste inkludera % tecken i $params , inte i frågan:

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

Om du skulle titta på den genererade frågan i din tidigare kod, skulle du se något i stil med SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , eftersom den förberedda satsen citerar dina värden inuti en redan citerad sträng.



  1. Matchar alla värden i IN-satsen

  2. Standard formatsträngar för datum/tid som stöds av FORMAT() i SQL Server

  3. De bästa funktionerna att leta efter i ett SQL Server-övervakningsverktyg

  4. Anslut iPhone-appen till PostgreSQL med Libpq