Эхо-проблема с while / if / else

Я начинаю изучать php и mysql и добрался до главы 5 Head First PHP & MySQL, и я пытаюсь создать самодостаточный проект, в котором я создал базу данных и страницу index.php, где я могу увидеть результаты, распечатанные. Когда я перехожу на страницу index.php, я вижу заголовок HTML, но php-код не распечатывает мои сообщения. Я должен предположить, что мой синтаксис кода верен, или я получаю пустую страницу. Может кто-нибудь, пожалуйста, скажите мне, что я закодировал неправильно, чтобы закончиться без вывода? Благодарю.

<?php //Establish connection with database $dbc = mysqli_connect(localhost,root,root,itmyfamily); //Order the data to be retrieved $query = "SELECT * FROM itsmyfamily ORDER BY last_name ASC, first_name `enter code here`DESC, date ASC"; //Execute the connect command and the query $data = mysqli_query($dbc,$query); //Loop through the array of family submissions, formatting it as html $i = 0; while ($row = mysqli_fetch_array($data)) { //Display family submissions if ($i == 0) { echo '<strong>First Name:</strong> ' .$row['first_name']. ' <br/>'; echo '<strong>Last Name:</strong> ' .$row['last_name']. ' <br />'; echo '<strong>Spouse Name:</strong> ' .$row['spouse_name']. ' <br/>'; echo '<strong>Email:</strong> ' .$row['email']. ' <br />'; } else { echo 'There is no info in the database'; } $i++; } mysqli_close($dbc); ?> 

Установите это поверх исходного кода, чтобы отображать ошибки.

 <?php error_reporting( E_ALL ); ?> 

Или установите display_erros в php.ini следующим образом:

 display_errors = On error_reporting = E_ALL | E_STRICT 

Также попробуйте заменить исходный код следующим,

 <?php //Establish connection with database $dbc = mysqli_connect(localhost,root,root,itmyfamily); //Order the data to be retrieved $query = "SELECT * FROM itsmyfamily ORDER BY last_name ASC, first_name DESC, date ASC"; //Execute the connect command and the query $data = mysqli_query($dbc,$query); while ($row = mysqli_fetch_array($data)) { //Loop through the array of family submissions, formatting it as html $i = 0; //Display family submissions if ($i == 0) { echo '<strong>First Name:</strong> ' .$row['first_name']. ' <br />'; echo '<strong>Last Name:</strong> ' .$row['last_name']. ' <br />'; echo '<strong>Spouse Name:</strong> ' .$row['spouse_name']. ' <br />'; echo '<strong>Email:</strong> ' .$row['email']. ' <br />'; } else{ echo 'There is no info in the database'; } $i++; } mysqli_close($dbc); ?> 

Обновить

 If you can write it this way, i think you dont even need the $i. $result = mysql_query("SELECT id, first_name FROM mytable"); if($result){ while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID: %s Name: %s", $row["id"], $row["first_name"]); } } else echo 'There is no info in the database'; 

Читайте здесь для получения дополнительной информации о php mysql_fetch_array http://www.php.net/mysql_fetch_array

Читайте здесь для получения дополнительной информации об итерациях. http://webcheatsheet.com/php/loops.php

Обратите внимание, что метод, который вы использовали, устарел из php 5.5.0. поэтому я предлагаю вам подумать о mysqli или PDO . примеры можно найти в следующих ссылках на PHP

http://www.php.net/manual/en/mysqli.query.php

http://www.php.net/manual/en/pdo.query.php