Re: If MySQL column/field values are in an PHP array

From: Date: Thu, 19 Jul 2007 15:57:36 +0000
Subject: Re: If MySQL column/field values are in an PHP array
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-259178@lists.php.net to get a copy of this message
kvigor wrote:
I created an array using the following: $in_list = "'".join("','",$cen_chiefs)."'"; //$cen_chiefs is an array $query_cen_chiefs = "SELECT * FROM central WHERE CONCAT(strName,' ',strCity,' ',strState) IN({$in_list})"; How would I go about adding an AND clause to the above query to return all rows where strName column values are in $in_list array I acutally did the above w/ "SELECT * FROM central WHERE CONCAT(strName,' ',strCity,' ',strState) IN({$in_list}) AND (strName) IN({$in_list}) ORDER BY conName"; // This return zero rows. I think I Should I be using strName as a pattern, because strName would be a partial value of $in_list array values? Something like: REGEXP '^.....$' "SELECT * FROM central WHERE CONCAT(strName,' ',strCity,' ',strState) IN({$in_list}) AND (REGEXP '^strName$') IN({$in_list}) ORDER BY conName"; //This query doesn't work by the way. This is where I'm stuck.
First of all, let's start by saying that this question is very OT on a php-list. It would be a lot more appropriate on a mysql list. But, I'll try to help you anyway. First of all, I have no clue what you're trying to do. Give some values (ie. what's in $cen_chiefs, what does the central table look like, and what does strName look like. The whole problem here, afaics, is that you don't have a clear idea of what you want. Tell us what you _want_ to do (not HOW, but what the result should be) and we might be able to help. Now, SELECT * FROM central WHERE CONCAT(strName,' ',strCity,' ',strState) IN({$in_list}) AND (REGEXP '^strName$') IN({$in_list}) ORDER BY conName won't work simply because you're saying (php-style): if($foo == $a.' '.$b && $foo == $a), which obviously will _never_ work :)

« previous php.general (#259178) next »