2

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

0

3 Answers 3

7
'SELECT ... WHERE id IN ("' . implode('","', $strings) . '")';
1
  • Works really well! I want to ask a question, what are the dots exactly doing, are they acting like "+" to glue the quotes with the implode result? Commented Oct 29, 2012 at 20:44
1

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) . '");';
0
0
implode("','",$array);
2
  • this doesn't add a quote before and after the very beginning and end of the strings. thanks anyway! Commented Apr 14, 2010 at 13:51
  • @Chocho you don't know concatenation too? You desperately need basic PHP classes then. Commented Apr 15, 2010 at 6:12

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.