Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do LIKE search with PDO?

Tags:

php

pdo

In order to do a LIKE search with PDO, I need to add the % to the parameter before passing it.

This works:

$qry = ' 
    SELECT product_id
    FROM cart_product
    WHERE product_manufacturer_num LIKE :search_string
';
$sth = $this->pdo->prepare($qry);
$sth->execute( array("search_string"=>'%'.$search_string.'%') );

To me this feels more like a hack, Is there a more official way of doing this?

like image 513
JD Isaacks Avatar asked Oct 13 '22 22:10

JD Isaacks


1 Answers

It's fine. It doesn't feel like a hack to me.

The difficulty comes when you want to allow a literal % or _ character in the search string, without having it act as a wildcard.

like image 184
bobince Avatar answered Oct 18 '22 00:10

bobince