За последние 24 часа нас посетили 17996 программистов и 1648 роботов. Сейчас ищут 1844 программиста ...

Обработка ошибок

Тема в разделе "PHP и базы данных", создана пользователем k1ka, 17 мар 2018.

  1. k1ka

    k1ka Новичок

    С нами с:
    5 мар 2018
    Сообщения:
    8
    Симпатии:
    0
    Помогите обработать ошибку,если не удалось ничего найти в таблице.
    PHP:
    1.             <?php        
    2. $dbc = mysqli_connect('localhost', 'root', '', 'db1')
    3.     or die('Ошибка подключения к БД');
    4.  
    5.   $otkuda = $_POST['otkuda'];
    6.   $kuda = $_POST['kuda'];
    7.   $data = $_POST['data'];
    8.   $nomer_poezda = $_POST['nomer_poezda'];
    9.   $Otpravlenie = $_POST['Otpravlenie'];
    10.   $pribitie = $_POST['pribitie'];
    11.   $marshrut = $_POST['marshrut'];
    12.   $id_poezda = $_GET['id_poezda'];
    13.   if (!isset($_GET['id_poezda'])) {$id_poezda = $_GET['id_poezda'];}
    14.  
    15. $query=("select * from `table1` WHERE (`otkuda`= '$otkuda') and (`kuda`= '$kuda') and (`data`='$data')");
    16. $result = mysqli_query($dbc, $query)
    17.     or die('Ошибка выполнения запроса.');
    18.  $row_cnt = mysqli_num_rows($result);
    19.  $myrow=mysqli_fetch_array($result);
    20.  
    21.  if (!empty($_POST["otkuda"])&&!empty($_POST["kuda"])&&!empty($_POST["data"]))
    22.  {
    23.     printf("Найдено: %d запись(си).\n", $row_cnt);
    24. echo 'По  запросу:  '; echo 'От станции: ' . $otkuda; echo '; До станции: ' . $kuda; echo '; На дату: ' . $data; echo '; ';
    25.  
    26. echo "<table id='table1' class='table_blur'></td> <th>Номер поезда</th> <th>Маршрут</th>
    27.    <th>Прибытие</th> <th>Отправление</th><th>Билетов</th><th>Выбрать вагон</th></tr> ";
    28.     do
    29.     {
    30.         echo "<tr> <td>".$myrow['nomer_poezda']."</td>";
    31.         echo "<td >".$myrow['marshrut']."</td>";
    32.         echo "<td>".$myrow['pribitie']."</td>";
    33.         echo "<td>".$myrow['Otpravlenie']."</td>";
    34.         echo "<td>".$myrow['']."</td>";
    35.         echo "<td>" . '<button type="button" id="button2" id="button'.$myrow['id_poezda']  . '" class="knopka1" data-poezd="' . $myrow['id_poezda'] . '">Выбрать вагон</button>' . "</td> </tr>";
    36.  
    37.     }
    38.     while($myrow=mysqli_fetch_array($result));
    39.     echo "</table>" ;
    40.     echo "<script>document.getElementById('div1').style.display = 'block';</script>";
    41.  }
    42.  else
    43.  {
    44. echo "<script>document.getElementById('div1').style.display = 'none';</script>";
    45. echo "<script>alert('Заполните все поля');</script>";
    46.  }
    47.  mysqli_close($dbc);
    48. ?>
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    с этой строки и начинается путь к проверке "если ничего не нашлось"
    --- Добавлено ---
    ищи в инете примеры
     
  3. k1ka

    k1ka Новичок

    С нами с:
    5 мар 2018
    Сообщения:
    8
    Симпатии:
    0
    Я вас понял ,второй раз пишу на этот форум и второй раз мне отвечают фигню ,если получилось бы сделать по примеру ,я бы наверное не писал.
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @k1ka Если ничего не находится никакой ошибки нет. Есть пустой массив объект значение обрабатывается просто
    (!$result) var_dump('нет ничего');
    А если действительно возникает ошибка тогда try catch
     
  5. k1ka

    k1ka Новичок

    С нами с:
    5 мар 2018
    Сообщения:
    8
    Симпатии:
    0
    Спасибо,а можете показать на моем коде это ?
     
  6. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    PHP:
    1. $result = mysqli_query($dbc, $query) or die('Ошибка выполнения запроса.');
    2. if(!$result) die('Ничего нет')
    3. if($result) {
    4. код где нужен result
    5. }
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    ae ,snm nfrjq gjghjifqrjq/ Ghjcnj yf[eq nfrb[ yflj gjcskfnm? rjnjhst yb tlbyjq bpdbkbyyjq yt gjitdtkzn/

    Высказался.
     
    karmay нравится это.
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.842
    Симпатии:
    652