Intereting Posts

MySQL, где column = 'x, y, z'

Вот моя ситуация: мне нужно выбрать все сообщения, где user_id = x OR y OR z.

У меня есть массив в PHP:

users = ('1', '2', '3') 

есть все равно, чтобы выбрать все сообщения, где user_id = одно из этих значений без массивного запроса:

 user_id = '1' OR user_id = '2' OR user_id = '3?' 

(Мне нужно получать сообщения более 100 человек, чтобы они были неэффективными)

благодаря

Это легко сделать:

 $query = "SELECT * FROM table_name WHERE user_id IN('1','2','3')"; 

Поскольку ваше значение находится в массиве, вы можете использовать:

 $users = array('1', '2', '3'); $user_id = "'" . implode("', '", $users ) . "'"; $query = "SELECT * FROM table_name WHERE user_id IN($user_id)"; 

Надеюсь это поможет.

Используйте предложение IN .

 SELECT * FROM YourTable WHERE user_id IN ('1','2','3') 

Да! Вы можете использовать оператор IN :

 user_id IN ('1', '2', '3') 

Если ваш массив всегда будет безопасным и содержать элементы, вы можете сделать следующее:

 "user_id IN ('" . implode("', '", $users) . "')" 

в PHP тоже.

 user_id >= 1 AND <= 3 

Это одна из альтернатив.

Вероятно, вам не нравится ключевое слово IN . Вместо этого вы можете использовать регулярное выражение следующим образом:

 выберите * from your_table, где user_id regexp '1 | 2 | 3'