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

Тема в разделе "PHP", создана пользователем Rigor, 13 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Что здесь непрвильно:

    PHP:
    $count mysql_numrows(mysql_query("SELECT * 
    FROM `vacansi` 
    WHERE (
    locate( lower( 'Менеджер' ) , lower( `titler` ) ) >0
    )"
    )) or die('error! Записей не найдено1!'); 
    Постоянно выходит ошибка - error! Записей не найдено1!

    Причем на денвере все нормально, а на хостинга (фирствдс) ошибка.
     
  2. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Попробуйте написать:
    PHP:
    or die(mysql_error()); 
    Должно натолкнуть на размышления :)
     
  3. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Пустую строку выводит
     
  4. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Пишите так:

    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 
    "нет записей в табице";
     
  5. gidroponic

    gidroponic Создатель

    Регистр.:
    21 янв 2009
    Сообщения:
    26
    Симпатии:
    3
    так может там и записей нет?
     
  6. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Вобщем проблема обрасла новыми подробностями - если точно такой же запрос выполнить в пхпмайадмине, то все выполнтся правильно. А если выполнять, как я написал в перовм посте, то в любом случае результат(т.е. и количество) будет равнять 0. Почему так происходит?

    PS Может слово Менеджер в базе и в файле запроса в разных кодировках и скрипт считает их разными? Больше версий даже нет..
     
  7. g00dwin

    g00dwin

    Регистр.:
    9 ноя 2006
    Сообщения:
    164
    Симпатии:
    68
    Может быть, проверь.
    А другие запросы нормально выполняет?
     
  8. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Другие запросы выполняет нормально, но там только циферные. Всмысле id.

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

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

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

    Ad1ce Постоялец

    Регистр.:
    18 авг 2009
    Сообщения:
    109
    Симпатии:
    25
    Попробуйте переконвертировать файл в utf-8, потом запустите.
     
  10. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Проблему решил, добавив после mysql_connect

    mysql_query('SET @@collation_connection = @@collation_database');
    и сет намес цп1251
     
Статус темы:
Закрыта.