Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ошибка при sql запросе
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » ошибка при sql запросе

Страниц (1): [1]
 

1. gin101 - 08 Апреля, 2015 - 19:27:50 - перейти к сообщению
привет всем, суть проблемы в том запрос выполняется как-то неправильно и выдает ошибку
когда я хочу посчитать количество строк в результате
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

запрос:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query('SELECT * FROM Товары, категория where Товары.Категория=категория.Код and категория.название="$category" LIMIT $quantity OFFSET $list;');


по идее он должен записывать массив с результатом запроса в переменную $result, но в ошибке написано что это булева переменная.-.

раньше когда мне не надо было выводить товары по категориям, такой ошибки не было, но после того как я изменил запрос все перестало работать

старый запрос:
PHP:
скопировать код в буфер обмена
  1. "SELECT * FROM Товары LIMIT $quantity OFFSET $list;"


помогите пожалуйста, я не понимаю что не так
(Добавление)
и еще, скорее всего функция mysql_query() возвращает false из-за того что запрос не выполнился, отсюда и ошибка, но дело в том что запрос правильный и он выполняется, но через пхп не хочет.-.
2. exlant - 08 Апреля, 2015 - 19:43:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query('SELECT * FROM Товары, категория where Товары.Категория=категория.Код and категория.название="'.$category.'" LIMIT '.$quantity.' OFFSET '.$list.';');


P/S первый раз вижу названия полей и таблиц на русском...
3. gin101 - 08 Апреля, 2015 - 20:07:15 - перейти к сообщению
так все работает, спасибо,
тоесть получается нельзя все в одних кавычках делать, надо обязательно через лбъединение строк делать?

но тогда почему этот код работает, странно как-то
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT * FROM Товары LIMIT $quantity OFFSET $list;");

(Добавление)
а по поводу русских названий, я пока только на локальном сервере делаю и он может русские названия, а если на хостинге каком-то делать то не знаю, я не пробовал еще
4. esterio - 08 Апреля, 2015 - 20:14:36 - перейти к сообщению
gin101
давайте все названия изначально только латинецей, то что оно так может не гарантирует работоспособнось везде
(Добавление)
потому что одинарные кавчкы не парсят переменные в отличие от двойных. Например
PHP:
скопировать код в буфер обмена
  1. $hello = 'Hello;
  2. echo "$hello World"; // hello World
  3. echo '$hello World'; //$hello World
5. gin101 - 08 Апреля, 2015 - 20:33:39 - перейти к сообщению
esterio, спасибо теперь понятно^^ и названия тоже поменяю;

 

Powered by ExBB FM 1.0 RC1