sql >> Databáze >  >> RDS >> Mysql

implementovat dotaz LIKE v PDO

Musíte zahrnout % podepíše v $params , nikoli v dotazu:

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

Pokud byste se podívali na vygenerovaný dotaz v předchozím kódu, viděli byste něco jako SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%' , protože připravený příkaz uvádí vaše hodnoty v již citovaném řetězci.



  1. Hierarchický seznam typů událostí spouštění v SQL Server 2017

  2. Jak zobrazit závislosti objektů v Accessu 2016

  3. Nejbližší zápas, část 3

  4. Je možné použít `SqlDbType.Structured` k předání parametrů s hodnotou tabulky v NHibernate?