Не Удается Получить Ответ Из Mysql

Тема в разделе "PHP программирование", создана пользователем klerk, 24 июн 2012.

  1. klerk

    klerk Гость

    Репутация:
    0
    Добрый вечер! Есть скрипт, который получает информацию из MYSQL. Если посылать запрос, получающий все данные из базы данных, то все работает, если же добавить условие (Where......) то просто появляется веб-страница с белым фоном, и никаких данных... Ошибок никаких не выдается. Информация в базе данных, которую запрашиваю, точно есть, проверял через PhpMyAdmin....

    Вот код
    Код (PHP):
    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    if(!empty($Nazvanie_search))
    {$S=Nazvanie_search;}
    else {$S=Imya_search;};
    $conn = mysql_connect("***", "***", "***");
    mysql_select_db(****);
    $SQL = 'SELECT * FROM `books` where (`Avtor`="$S" or `Nazvanie`="$S")';
    //$SQL="SELECT * FROM `books`";
    $rez = mysql_query($SQL, $conn)
    or die(mysql_error());
    while($row=mysql_fetch_array($rez))
    {
    echo 'Avtor '."$row[1]".'<br/>';

    echo 'Nazvanie '."$row[0]".'<br/>';
    }
    ?>
    Проглядел все глаза, но в чем дело понять не могу...
     
  2. Bugnet

    Bugnet Гость

    Репутация:
    0
    А у Вас точно есть такой автор в БД -Nazvanie_search ?
    $S=$Nazvanie_search;
    $S=$Imya_search;
     
  3. klerk

    klerk Гость

    Репутация:
    0
     
  4. Bugnet

    Bugnet Гость

    Репутация:
    0
    А как на счёт того, что Вы проверяете не пуста ли переменная $Nazvanie_search, а потом значение этой переменной дальше не используете? Переменной $S присваиваете строку Nazvanie_search, иначе - присваиваете строку Imya_search.
    Я же написал $S=$Nazvanie_search, а у Вас $S=Nazvanie_search. Вот и получается, что ничего не выводится и ошибок нет. В БД есть автор Иванов, но там нет автора Imya_search.
    Или я чего-то недопонял?
     
  5. klerk

    klerk Гость

    Репутация:
    0
    Переменная принимает значение Иванов. Проверял с помощью phpinfo(32). На всякий случай проверю еще раз.
     
  6. Bugnet

    Bugnet Гость

    Репутация:
    0
    Посмотрите так:
    <?php
    $Imya_search = "Ivanov";
    if(!empty($Nazvanie_search))
    {$S=Nazvanie_search;}
    else {$S=Imya_search;};
    echo $S;
    ?>
     
  7. klerk

    klerk Гость

    Репутация:
    0
    Проверил точно так как Вы подсказали. Действительно не хватает символа$ и переменная принимает значение Imya_search. В вашем скрипте исправил - стало Иванов. Исправляю у себя - все по прежнему, белый экран. Единственное, что приходит в голову, что в mysql ничего не отправляется поэтому нулевой результат поиска, пустой экран и отсутствие ошибок.
     
  8. Bugnet

    Bugnet Гость

    Репутация:
    0
    Cоздал у себя на компе (сервер Денвер) базу данных и всё из неё извлёк таким образом:
    <?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    $Imya_search = "Ivanov";
    if(!empty($Nazvanie_search))
    {$S=$Nazvanie_search;}
    else {$S=$Imya_search;};
    $db = mysql_connect("localhost", "root", "");//Своё подключение
    mysql_select_db ("mysql",$db);//своя база данных
    $rez = mysql_query ("SELECT * FROM books WHERE Avtor='$S' or Nazvanie='$S'", $db)
    or die(mysql_error());
    while($row=mysql_fetch_array($rez))
    {
    echo 'Avtor '."$row[1]".'<br/>';

    echo 'Nazvanie '."$row[0]".'<br/>';
    }

    ?>
     
Загрузка...

Поделиться этой страницей