1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Пролема с обращением к MySQL

Тема в разделе "Web Coding", создана пользователем merder, 9 окт 2007.

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

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    На сайте есть поиск по заданным параметрам, но постоянно вылезает вот это. Хотя если не задавать параметры поиска вроде как все работает.

    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 'MН_ ML ›ЬП_LI™]][њЩ™\Џ_ЏLL  М ЫЭ[ќћO' at line 1
    [SELECT COUNT(*) FROM `hsl_plan` p LEFT JOIN `hsl_host` h ON p.hid=h.hid WHERE p.status=1 AND p.`monthly_price`>=0 AND p.`monthly_price`<5 D p.`webspace`MН_ ML ›ЬП_LI™]][њЩ™\Џ_ЏLL  М ЫЭ[ќћO]

    Файл search.php прилагается.
     

    Вложения:

    • search.rar
      Размер файла:
      1,9 КБ
      Просмотров:
      7
  2. Simpson

    Simpson

    Регистр.:
    22 июл 2007
    Сообщения:
    373
    Симпатии:
    36
    Очень похоже что кодировки на входе где-то не стыкуются.
     
  3. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    PHP:
        if (isset($vars['monthly_price'])) {
            
    array_push($wherestr_replace("|"" AND p.`monthly_price`"$vars['monthly_price']));
            unset (
    $vars['monthly_price']);
        }
        if (isset(
    $vars['webspace'])) {
            
    array_push($wherestr_replace("|"" AND p.`webspace`"$vars['webspace']));
            unset (
    $vars['webspace']);
        }
        if (isset(
    $vars['datatransfer'])) {
            
    array_push($wherestr_replace("|"" AND p.`datatransfer`"$vars['datatransfer']));
            unset (
    $vars['datatransfer']);
        }
        if (isset(
    $vars['os'])) {
            
    array_push($wherestr_replace("|"" AND p.`os`"$vars['os']));
            unset (
    $vars['os']);
        }
    Во всей этой части пропущены знаки равно или LIKE, хз что вы там собирались использовать.
    Например сейчас
    PHP:
    array_push($wherestr_replace("|"" AND p.`monthly_price`"$vars['monthly_price']));
    а должно быть
    PHP:
    array_push($wherestr_replace("|"" AND p.`monthly_price` = "$vars['monthly_price']));
     
  4. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    я не силен в php..скажите пожалуйста в каких местах нужно вставить знаки равно и LIKE
     
  5. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    PHP здесь не при чем.
    Я вам дал один пример - делайте остальные по аналогии.
     
  6. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    Пробовал по аналогии, не помогло. Зато нашел статью где написано как это исправить, но только я ничо там не понимаю:) Вот адрес:
    _http://phportal.informika.ru/support/open-forum/open/403/

    Нужно что-то в скобки поместить ток в своем коде этого не нашел.
     
  7. webjema

    webjema Создатель

    Регистр.:
    1 сен 2007
    Сообщения:
    46
    Симпатии:
    6
    после добавления = какая ошибка теперь?
    помоему еще и кавычек нехватает
    PHP:
    array_push($wherestr_replace("|"" AND p.`monthly_price` = `"$vars['monthly_price'], "`")); 
     
Статус темы:
Закрыта.