Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Как выяснилось совсем не знаю MYSQL. Мне нужно выбрать из таблицы значения где поле "cat" равно нескольким переменным. Т.е.
$result = mysql_query("SELECT * FROM users WHERE cat = ($cat1,$cat2,$cat3,$cat4,$cat5,$cat6,$cat7,$cat8,$cat19,$cat11,$cat13,$cat14,$cat15,$cat21,$cat22,$cat23) AND activation='1' AND cat > '0'",$db);
Привел эту глупость т.к. тут вроде понятно чего я хочу. Заранее благодарен.
Неактивен
Используйте IN вместо =
Неактивен
Неактивен
rgbeast написал:
Используйте IN вместо =
... WHERE cat IN (2,3,4,5);
А для этого поле CAT должно быть INTElenger ?
Неактивен
нет
Неактивен
Не работает.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in X:\home\localhost\www\acteri\casting.php on line 243
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in X:\home\localhost\www\acteri\casting.php on line 252
Дело в том что переменные эти - это выбор флажков в форме. И по результату выбора определенным группам участников рассылается инфа в цикле. Поэтому мне и нужно чтобы выборка делалась по этим переменным. Застрял на этом на два дня. Всё перепробовал. С INT тоже пробовал. Может есть другое какое решение?
Неактивен
См. FAQ номер 2 и приведите код ошибки
Неактивен
rgbeast написал:
См. FAQ номер 2 и приведите код ошибки
Вставил этот код в скрипт: $result = mysql_query($sql) or die(mysql_error());
Туплю уже, но выдаёт следующее:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in X:\home\localhost\www\acteri\casting.php on line 243
Query was empty
Неактивен
Этот код вставлять в скрипт не надо. Это пример того, как добавить обработку ошибок. В вашем случае имена переменных могут быть совсем другие. Там где у вас идет выполнение запроса нужно добавить or die(mysql_error()
Неактивен
$result = mysql_query("SELECT * FROM users WHERE cat = $cat3 AND activation='1' AND cat > '0' or die(mysql_error()",$db);
Типа так? Забыл поблагодарить. Спасибо что помогаете.
Неактивен
Нет, нужно так:
$result = mysql_query("SELECT * FROM users WHERE cat = $cat3 AND activation='1' AND cat > '0' ",$db) or die(mysql_error());
И сделать это для всех запросов, иначе смысл ошибки не узнаете.
Неактивен
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,,,,,,,,,) AND activation='1' AND cat > '0'' at line 1
Ну конкретно на этот запрос вот эта ошибка выскакивает. Ни черта не понимаю о чем это.
Неактивен
У Вас половина переменных $cat19,$cat11,$cat13 просто пустые, а запятые в запросе стоят, поэтому запрос получается синтаксически неверным - несколько запятых подряд. Заключите их в одиночные кавычки, чтобы ошибки не было, но вообще говоря надо это приложение переписать современными средствами (использовать массив вместо многих переменных, использовать цикл для формирования запроса).
('$cat8','$cat19','$cat11','$cat13','$cat14','$cat15','$cat21','$cat22','$cat23')
Неактивен
Спасибо большое кажется заработало. У меня и было через массив сделано. Но не хватает знаний MySql. Не знал как запрос на массив сделать. Потому и разжевал. Искал ошибку. Бессонная ночь долой. А цикл у меня следом идет. Там рассылка. Впервые на форум обращаюсь, до этого всё в чужих топиках искал. Еще раз спасибо, может кому эта темка поможет, я подобной за всю ночь не нашел в нете. Там ошибочка есть
Вместо or die(mysql_error();
Нужно or die(mysql_error());
А еще лучше через print или echo - они не останавливают скрипты.
Неактивен
Страниц: 1