выводится пустая веб страница

208
12 мая 2018, 13:00

Этот код правильно выводит данные из удалённого сервера:

  <?php
$host="localhost";
$user="***";
$password="***";
$db_name="***";
$conn=mysqli_connect($host,$user,$password,$db_name);
 $sql="select * from goods";
 $result=mysqli_query($conn,$sql);
   while($row = mysqli_fetch_array($result)) 
   {
       echo $row["goods_id"]." ".$row["goods_name"]; 
       echo "<br>";
   }
mysqli_close($conn);
// header(string "Location:index.php");
?> 

а этот код выводит пустую веб страницу :

<?php
$host="localhost";
$user="***";
$password="***";
$db_name="***";
$conn=mysqli_connect($host,$user,$password,$db_name);
 $sql="select * from goods";
 $result=mysqli_query($conn,$sql);
 echo <table border='1'>
 <tr>
 <th>Goods_id</th>
 <th>Goods_name</th>
 </tr>;
   while($row = mysqli_fetch_array($result)) 
   {
       echo "<tr>";
       echo "<td>".$row["goods_id"]."</td>";
       echo "<td>".$row["goods_name"]."</td>"; 
       echo "</tr>";
   }
 echo "</table>";
mysqli_close($conn);
// header(string "Location:index.php");
?> 

Не могу найти причину. Прошу помощи.

Answer 1

Из-за отсутствия кавычек у строки после echo у вас ошибка, которая не выводится на экран. Вам нужно как минимум исправить ошибку:

<?php
error_reporting(E_ALL); // настраиваем уровень ошибок
ini_set('display_errors', true); // включаем вывод ошибок на экран
$host = "localhost";
$user = "***";
$password = "***";
$db_name = "***";
$conn = mysqli_connect($host, $user, $password, $db_name);
$sql = "select * from goods";
$result = mysqli_query($conn, $sql);
echo "<table border='1'>
<tr>
<th>Goods_id</th>
<th>Goods_name</th>
</tr>";
   while($row = mysqli_fetch_array($result)) 
   {
       echo "<tr>";
       echo "<td>" . $row["goods_id"] . "</td>";
       echo "<td>" . $row["goods_name"] . "</td>"; 
       echo "</tr>";
   }
echo "</table>";
mysqli_close($conn);

Так же добавил в начале кода две строки для регулирования уровня ошибок и показ их на экране, желательно для этого конфиг поменять, но можно и момент исполнения кода это делать, правда придется это делать во всех файлах, которые запускаются.

P.S. Так же рекомендую сразу приучать себя для работы с базой использовать PDO

P.P.S. Заметил строчку в конце кода с выводом заголовка header(string "Location:index.php");. Всегда отправляйте заголовки до вывода на экран любой информации, например через echo.

READ ALSO
MySQL на разных страницах сайта в PHP

MySQL на разных страницах сайта в PHP

Как сохранять одно подключение (или одну транзакцию) к MySQL на разных страницах сайта в PHP? Это нужно, когда мы заполняем множество настроек...

213
Вывод цены на php с привязкой к месяцу

Вывод цены на php с привязкой к месяцу

Кто знает подскажите нужно вывести цену чтобы выводилась каждый месяц разная ценаЯ только начал изучать php не могу понять

216
Обработчик формы не отображаем данные в $_POST

Обработчик формы не отображаем данные в $_POST

Необходимо отправить данные на сервер с формы ajax с последующей обработкойВообщем проблема в том, что ajax запрос формируется корректно, но данные...

221
КАК сделать так чтобы запись удалялась автоматически по истечении срока из БазыДанных?

КАК сделать так чтобы запись удалялась автоматически по истечении срока из БазыДанных?

Юзер делает заявку и заодно регистрируется, но он должен сделать подтверждение по почте, заявка добавляется в базу как ожидающий подтвесли...

233