PHP / MySQL / использовать строку для выбора из базы данных - PullRequest
0 голосов
/ 04 августа 2009

У меня есть строка:

 $string = "12,15,22";

Каждое из этих значений представляет идентификатор usrID, и я хотел бы использовать их для выбора строк, связанных с $ string.

Примерно так:

SELECT usrFirst, usrLast FROM tblusers WHERE usrID = 12 OR 15 OR 22.

Теперь $ string постоянно меняется, и иногда может быть разное количество идентификаторов. Например, иногда 3, иногда 4.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 04 августа 2009

используйте IN, хотя это очень медленно, если у вас много чисел:

SELECT usrFirst, usrLast FROM tblusers WHERE usrID IN ($string)

W3Schools имеет больше информации о IN.

Если у вас много цифр, посмотрите здесь , чтобы узнать, как это ускорить.

1 голос
/ 04 августа 2009

Вы также можете сделать:

$string = str_replace(',',' OR usrID=',$string);
mysql_query('SELECT usrFirst, usrLast FROM tblusers WHERE usrID='.$string);
1 голос
/ 04 августа 2009

вы можете сделать что-то вроде:

ВЫБРАТЬ usrFirst, usrLast ОТ tblusers ГДЕ usrID в (12, 15, 22);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...