Код (PHP): mysql_query("SELECT * FROM `dle_post` WHERE `category` IN (".implode(",", $arr).")"); Где ошибка? Я уже час не могу найти. Глаза красные. Надо подставить в sql запрос значения с массива $arr. И вывести соответственно записи, которые совпадают по категориям. Включил дебаг - ничего. В phpmyadmin запрос работает (если убрать .implode(",", $arr). и вставить число.). С php кода запрос тоже нормально могу послать, если убрать тот же .implode(",", $arr). Код (PHP): echo implode(",", $arr) нормально выводит числа через запятую. Но код не работает.. Помогите, пжлст. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Код (Text): echo "SELECT * FROM `dle_post` WHERE `category` IN (".implode(",", $arr).")"; Код (Text): SELECT * FROM `dle_post` WHERE `category` IN (68) Добавлено спустя 2 минуты 14 секунд: Нарыл вроде. Без кавычек в Код (Text): IN (68) PhpMyAdmin ничего не показывает. Но куда съедает кавычки?
а где они собственно есть в implode?, наверное надо как то так: Код (PHP): $str = implode("','", $arr);// тут ',' в двойных кавычках "SELECT * FROM `dle_post` WHERE `category` IN ('{$str}')";
SELECT * FROM `dle_post` WHERE `category` IN (68','66) Добавлено спустя 2 минуты 24 секунды: Ума не приложу, как число обвернуть в скобки. Добавлено спустя 41 секунду: Код (Text): $arr=array(); foreach ($city as $a) { is_int($a); strip_tags($a); $arr[]=$a; } Вот так создаю массив. Добавлено спустя 4 минуты 21 секунду: Вспомнил. Код (Text): $arr[]="\"" . $a . "\""; Вот тебе и кавычки. Код (Text): SELECT * FROM `dle_post` WHERE `category` IN ("67")
VadimPL, так я же написал: Код (PHP): "SELECT * FROM `dle_post` WHERE `category` IN ('{$str}')"; {$str} будет заменено, а вот ординарные кавычки вокруг останутся, и все будет ок.