implement LIKE query in PDO implement LIKE query in PDO mysql mysql

implement LIKE query in PDO


You have to include the % signs in the $params, not in the query:

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

If you'd look at the generated query in your previous code, you'd see something like SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%', because the prepared statement is quoting your values inside of an already quoted string.


Simply use the following:

$query = "SELECT * FROM tbl WHERE address LIKE CONCAT('%', :var1, '%')            OR address LIKE CONCAT('%', :var2, '%')";$ar_val = array(':var1'=>$var1, ':var2'=>$var2);if($sqlprep->execute($ar_val)) { ... }


No, you don't need to quote prepare placeholders. Also, include the % marks inside of your variables.

LIKE ?

And in the variable: %string%