Im пытается заполнить запрос массивом. Как я знаю, что могу отобразить массив с функцией foreach();
, но им не в состоянии поставить его в MySQL Query Im пытается сделать что-то вроде этого:PHP/Insert foreach в запросе
<?php
$arr = array("arr_1", "arr_2", "arr_3", "arr_4");
$query = mysql_query("SELECT * FROM users WHERE user = '1'".
foreach($arr as $arr) {
echo "AND user = '".$arr++."'";
}
." ORDER BY id";
?>
Script должны показать это, как: $query = mysql_query("SELECT * FROM users WHERE user = '1' AND user = 'arr_1' AND user = 'arr_2' AND user = 'arr_3' AND user = 'arr_4'");
Но это не работает, потому что вы не можете положить foreach()
в mysql_query();
.
Так что мне нужен скрипт, который делает то же самое (отображать массив в строке запроса)
Спасибо.
[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **] (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (http://j.mp/XqV7Lp). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). –
user = 1 и user = 2? вы имеете в виду __OR__ – Waygood
Может ли 'user' быть равным как« 1 », так и« arr_1 »? Возможно, вам просто нужно использовать 'IN' здесь, например' SELECT * FROM users WHERE user IN (1, 'arr_1', ...) '? – raina77ow