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

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

  1. klerk

    klerk Гость

    Добрый вечер! Есть скрипт, который получает информацию из 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 Гость

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

    klerk Гость

     
  4. Bugnet

    Bugnet Гость

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

    klerk Гость

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

    Bugnet Гость

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

    klerk Гость

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

    Bugnet Гость

    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/>';
    }

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

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