Я хочу знать, что это практически возможно в sql (используя php как серверную), где у вас есть массив значений (чисел), и вы пытаетесь получить данные на основе значений внутри этого массива.
У меня есть таблица sql:
posts( id int(11) primary key, posts varchar(140), user_id int(11) foreign key );
Теперь я пишу запрос для извлечения «сообщений»:
$query="SELECT * FROM posts WHERE user_id=(**Array of select user_id's**)";
Есть ли встроенная функция sql для проверки значений внутри массива? или я должен использовать PHP для этого?
Я на самом деле пытаюсь реализовать твиттерную модель показа сообщений людей, за которыми мы следуем.
SQL не может анализировать массивы PHP. Попробуй это:
$query="SELECT * FROM posts WHERE user_id IN ({implode(',', $userIDarray)})";
Да, это легко возможно. Вам нужно посмотреть на функцию MySQL MySQL
Ваш запрос будет похож на
SELECT * FROM posts WHERE user_id IN (1,2,3,4,5,6)
Вы можете построить бит между круглыми скобками в PHP с помощью implode ()
Взгляните на эту страницу: ГДЕ … В. Вы можете использовать оператор IN для проверки наличия определенного значения в списке значений.
Да, вам придется использовать следующий синтаксис
SELECT 'value' IN (array)