Ошибка в SQL запросе

Статус
В этой теме нельзя размещать новые ответы.

Rigor

Профессор
Регистрация
1 Июн 2008
Сообщения
203
Реакции
35
Что здесь непрвильно:

PHP:
$count = mysql_numrows(mysql_query("SELECT * 
FROM `vacansi` 
WHERE (
locate( lower( 'Менеджер' ) , lower( `titler` ) ) >0
)")) or die('error! Записей не найдено1!');

Постоянно выходит ошибка - error! Записей не найдено1!

Причем на денвере все нормально, а на хостинга (фирствдс) ошибка.
 
Попробуйте написать:
PHP:
or die(mysql_error());
Должно натолкнуть на размышления :)
 
Пустую строку выводит
 
Пишите так:

PHP:
$result = mysql_query("SELECT * 
FROM `vacansi` 
WHERE (
locate( lower( 'Менеджер' ) , lower( `titler` ) ) >0
)") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
  echo "есть записи";
} else echo "нет записей в табице";
 
так может там и записей нет?
 
Вобщем проблема обрасла новыми подробностями - если точно такой же запрос выполнить в пхпмайадмине, то все выполнтся правильно. А если выполнять, как я написал в перовм посте, то в любом случае результат(т.е. и количество) будет равнять 0. Почему так происходит?

PS Может слово Менеджер в базе и в файле запроса в разных кодировках и скрипт считает их разными? Больше версий даже нет..
 
Может слово Менеджер в базе и в файле запроса в разных кодировках и скрипт считает их разными? Больше версий даже нет..
Может быть, проверь.
А другие запросы нормально выполняет?
 
Другие запросы выполняет нормально, но там только циферные. Всмысле id.

Проверить? В том - то и дело, что я не знаю как проверить. Изначательно, после того, как я денвера слил скрит на хостинг, все что выводилось из бд было в вопросиках. Я добавил после конекта в бд сет намес сп1251 и чарсет такой же. После это данные стали нормально показываться.

Если в файле менеджер написать по новой(т.е. уже на хсотинг отредактировать файл), то итог тот же - 0 найденных результатов.

Вобще, вместо менеджера должна быть переменная, которая передается в файл через GET. Переменная кирилическая(всмысле менеджер, продавец). Если сделать ечо этой переменной, то все нормально. Всмысле выводится на русском. Если все сетнамес и чарсеты убрать, то ошибка будет, что-то связанное с latin1. Кто в этом всем что-то понимает большая просьба помочь
 
Попробуйте переконвертировать файл в utf-8, потом запустите.
 
Проблему решил, добавив после mysql_connect

mysql_query('SET @@collation_connection = @@collation_database');
и сет намес цп1251
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху