I'd like to use a PDO prepared statement to perform a MySQL query that uses the 
IN function.

I.e.:
$stmt = $pdo->prepare('
   select *
   from mytable
   where myfield IN (:contents)
);
$stmt->bindValue(':contents', $contents);
$stmt->execute();

Here's the problem:

If $contents is set to a single value, everything's fine:
   $contents = 'mystring';

How can I include multiple values in here?  If $contents is set to an array, 
PHP throws an "Array to string conversion" notice.
i.e. $contents = array('mystring1', 'mystring2');

If $contents is set to a comma-separated list, no matches are returned 
(probably because the entire "list" is being passed to MySQL as a single value, 
not multiple values).
I.e. $contents = 'mystring1,mystring2';

What's the proper way to do this?  Can it be done?  (Note that I do not know 
how many elements will be in $contents ahead of time, so something like IN 
(:contents1, :contents2) wouldn't make sense.)

Thanks for any help!

- TK


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to