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

implementer LIKE-forespørgsel i PDO

Du skal inkludere % tegn i $params , ikke i forespørgslen:

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

Hvis du ville se på den genererede forespørgsel i din tidligere kode, ville du se noget i stil med SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , fordi den forberedte sætning citerer dine værdier inde i en allerede citeret streng.



  1. Understøtter Microsoft OLE DB Provider til SQL Server TLS 1.2

  2. MySql-fejl 150 - Fremmednøgler

  3. Flet overlappende datointervaller

  4. Sådan kalder du en Oracle PL/SQL-objekt supermetode