tags:

views:

22

answers:

2

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?

A: 

Duplicate: http://stackoverflow.com/questions/583336/how-do-i-create-a-pdo-parameterized-query-with-a-like-statement-in-php

kovshenin
And here's another one: http://stackoverflow.com/questions/1786436/php-pdo-prepared-statement-mysql-like-query
kovshenin
+2  A: 

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.

bobince