views:

135

answers:

3

i am building a string that i check in mysql db.

eg:
formFields[] is an array - input1 is: string1
array_push(strings, formFields)
1st string and mysql query looks like this:
"select * from my table where id in (strings)"

formFields[] is an array - input2 is: string1, string2
array_push(strings, formFields)
2nd string and mysql query looks like this:
"select * from my table where id in (strings)"

formFields[] is an array - input3 is: string1, string2,string3
array_push(strings, formFields)
3rd string and mysql query looks like this:
"select * from my table where id in (strings)"

i will like to add single quotes and a comma to the array so that i have this for the array strings: "select * from my table where id in ('string1', 'string2','string3')"

i tried using array implode, but still no luck any ideas? thanks

+1  A: 
'SELECT ... WHERE id IN ("' . implode('","', $strings) . '")';
hsz
thank you! works like a charm.
Menew
A: 
implode("','",$array);
Col. Shrapnel
this doesn't add a quote before and after the very beginning and end of the strings. thanks anyway!
Menew
@Chocho you don't know concatenation too? You desperately need basic PHP classes then.
Col. Shrapnel
A: 

implode() is the solution but you shouldn't forget about escaping data:

$data = array(...);
array_walk($data, function(&$elem, $key) {
    $elem = mysql_real_escape_string($elem);
});
$sql = 'SELECT ... id IN ("' . implode('", "', $data) . '");';
Crozin
thank you also, your answer works too!
Menew