Запрос работает в mysql но не работает в php

DEADCAT

Новичок
Запрос работает в mysql но не работает в php

Добрый день!

Есть очень простой запрос
PHP:
SELECT * FROM objects WHERE oper='Сдаю'
При его выполнении в SQLyog все ок, однако при его выполнении непосредственно в php, например
PHP:
$query  = mysql_query("SELECT * FROM objects WHERE oper='Сдаю'"); 	while($list = mysql_fetch_assoc($query)) { 		echo $list['id']; 	}
ничего не выдается, даже нет ошибки. Заметил, что если в WHERE указать сравнение по числовому полю - все ок, а по текстовому полю, как в примере - лажа. Помогите, даже не знаю куда копать!
 

Welcome

Новичок
PHP:
error_reporting(E_ALL);
$query  = mysql_query("SELECT * FROM objects WHERE oper='Сдаю'");
if (mysql_affected_rows() && !mysql_error())
   while($list = mysql_fetch_array($query)) {
         echo $list['id'];     
   }
elseif (mysql_error()) 
  die(mysql_error());
 

DEADCAT

Новичок
Автор оригинала: Welcome
PHP:
error_reporting(E_ALL);
$query  = mysql_query("SELECT * FROM objects WHERE oper='Сдаю'");
if (mysql_affected_rows() && !mysql_error())
   while($list = mysql_fetch_array($query)) {
         echo $list['id'];     
   }
elseif (mysql_error()) 
  die(mysql_error());
Ничего в итоге не выводится!
 

DEADCAT

Новичок
Автор оригинала: zerkms
phpfaq.ru/debug
Не поверите, но все уже прочитал, ничего не помогает, даже кодировку менял... Не знаю куда еще копать, месяц назад делал почти то же самое - все работает. Что я мог не то указать в свойставах таблицы?????
 

DEADCAT

Новичок
Автор оригинала: zerkms
DEADCAT
дебажь - проблема в коде.
Это Вы увидели или предполагаете? Я уже пол дня на этот код смотрю, который писал раз двести раньше.

Какой то баг походу в таблице что-ли. Ищу по полю varchar. Что тут еще может быть не так???
 

zerkms

TDD infected
Команда форума
Повторю ещё раз: если запрос работает в консоли mysql, но не работает в приложении - значит проблема в приложении.
phpfaq.ru/debug

Я уже пол дня на этот код смотрю
надо не смотреть - надо взять и отдебажить
 

Gas

может по одной?
Заметил, что если в WHERE указать сравнение по числовому полю - все ок, а по текстовому полю, как в примере - лажа.
очень вероятно что дело в кодировках. В какой кодировке данные в базе, в какой у тебя в скрипте и какая кодировка соединения?
 

DEADCAT

Новичок
Автор оригинала: zerkms
Повторю ещё раз: если запрос работает в консоли mysql, но не работает в приложении - значит проблема в приложении.
phpfaq.ru/debug


надо не смотреть - надо взять и отдебажить
Только что попробовал тот же самый код, только вместо "Сдаю" ввел на латинице - работает. Таблица в utf-8. Файл сос криптом - тоже. Что может быть не то с кодировкой?
 

Gas

может по одной?
задай кодировку соединения: mysql_query("SET NAMES utf8");
 

Gas

может по одной?
И? не помогло? тогда
надо взять и отдебажить
:)

Ну действительно, проблема с кодировками, может всплыть в 3-ёх местах, выше уже писал где. Ещё раз всё проверь, а то выяснится что скрипт сохранён в 1251 или в базе данные не в utf.
 

DEADCAT

Новичок
Ничего не помогает... Тут дебажить то нечего, походу с табоицей что-то не то...
 

DEADCAT

Новичок
Так, есть просвет - сделал наоборот - поменял кодировку файла на ANSI - стало работать - но !!! кодировка базы и таблицы стоит utf 8!!!!!!!!! как так может быть?
 

dimagolov

Новичок
дело не только в кодировке таблицы, но и в кодировке данных в ней. не факт, что она правильная. читай мою ссылку, там ВСЕ расписано.
 

DEADCAT

Новичок
Автор оригинала: dimagolov
дело не только в кодировке таблицы, но и в кодировке данных в ней. не факт, что она правильная. читай мою ссылку, там ВСЕ расписано.
спасибо, действительно вроде данные были не в той кодировке! теперь все работает, но в проге SQLyog отображаются кракозябры не русские, почему такое может быть??
 

С.

Продвинутый новичок
Есть всего три сосны: (1) сами данные в определнной кодировке; (2) база, которая подразумевает определенную кодировку и (3) "отображатель" (HTML и т.п.), у которого тоже есть какая-то кодировка. Попробуй в них не заблудиться.
 
Сверху