массив строк запроса php mysql - PullRequest
2 голосов
/ 14 апреля 2010

Я строю строку, которую проверяю в 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)"

Я хотел бы добавить одинарные кавычки и запятую в массив, чтобы у меня было это для строк массива: "выбрать * из моей таблицы, где идентификатор в ('string1', 'string2', 'string3')"

Я пытался использовать массив, но все еще не повезло, какие-нибудь идеи? спасибо

Ответы [ 3 ]

7 голосов
/ 14 апреля 2010
'SELECT ... WHERE id IN ("' . implode('","', $strings) . '")';
1 голос
/ 14 апреля 2010

implode () - решение, но вы не должны забывать об экранировании данных:

$data = array(...);
array_walk($data, function(&$elem, $key) {
    $elem = mysql_real_escape_string($elem);
});
$sql = 'SELECT ... id IN ("' . implode('", "', $data) . '");';
0 голосов
/ 14 апреля 2010
implode("','",$array);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...