MySql данные не печатаются на экране?

1

У меня проблема с печатью записей базы данных на экране. У него нет проблем при вставке значений. Он также сообщает нам количество строк.
Не могли бы вы рассказать мне, что проблема с извлечением и печатью записей

     <!DOCTYPE html>
<html>
<body>
<form action="zain.php" method="post">
Topic: <input type="text" name="topic"><br />
<br />
Name: <input type="text" name="name"><br /><br />
Attendance: <input type="text" name="attendance"><br />
<br />
<input type="reset" name="reset">
<input type="submit" name="submit" value="Go">
</form>

<?php

$user = 'root';
$password = 'zz224466';
$db = 'Zain';

// Create connection
$conn = mysqli_connect('localhost', $user, $password, $db);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "";

    mysqli_select_db($conn, "zain");
    //$sql = "CREATE TABLE Lectures(Topic varchar(20), Name varchar(20), Attendence int)";
    $sqli = "INSERT INTO lectures(Topic , Name , Attendence) VALUES('$_POST[topic]','$_POST[name]','$_POST[attendance]')";
    mysqli_query($conn, $sqli);


////////////////////////// For print DATABASE on the screen ////////////////////////////////////////
    if(isset($_POST['submit'])) {
        mysqli_select_db($conn, "zain");

        $dataBase = "SELECT * FROM lectures";

        $print = mysqli_query($conn, $dataBase);


        while ($record = mysqli_fetch_array($print)) ;
        {
            echo $record['Topic'];
            echo "</br>";
        }
    }
    mysqli_close($conn);

/////// It tells the number of records in database///////
$countRow = mysqli_num_rows($print);
echo "<br>" . $countRow;
?>



</body>
</html>
Теги:
mysqli

1 ответ

3
Лучший ответ

Вы видите запятую в конце вашего ли в while цикла?

while ($record = mysqli_fetch_array($print)) ;
                                             ^ right there
  • Это символ "конца заявления"; убери это.

Он фактически считается корректным синтаксисом и не будет вызывать ошибку. Поэтому проверка ошибок для него не поможет.

Рекомендации:

Как и в C или Perl, PHP требует, чтобы инструкции заканчивались точкой с запятой в конце каждого оператора. Закрывающий тег блока кода PHP автоматически означает точку с запятой; вам не нужно иметь точку с запятой, завершающую последнюю строку блока PHP. Заключительный тег для блока будет включать в себя сразу же завершающую новую строку, если таковая присутствует.


Более того,

Ваш существующий код открыт для SQL-инъекции. Используйте mysqli_* с подготовленными инструкциями или PDO с подготовленными операторами.

  • 0
    Спасибо ... Это моя опечатка ... Большое спасибо .. Ты спас мой день
  • 1
    @ZainFarooq Пожалуйста, ура
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню