У меня проблема с печатью записей базы данных на экране. У него нет проблем при вставке значений. Он также сообщает нам количество строк.
Не могли бы вы рассказать мне, что проблема с извлечением и печатью записей
<!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>
Вы видите запятую в конце вашего ли в while
цикла?
while ($record = mysqli_fetch_array($print)) ;
^ right there
Он фактически считается корректным синтаксисом и не будет вызывать ошибку. Поэтому проверка ошибок для него не поможет.
Рекомендации:
Как и в C или Perl, PHP требует, чтобы инструкции заканчивались точкой с запятой в конце каждого оператора. Закрывающий тег блока кода PHP автоматически означает точку с запятой; вам не нужно иметь точку с запятой, завершающую последнюю строку блока PHP. Заключительный тег для блока будет включать в себя сразу же завершающую новую строку, если таковая присутствует.
Более того,
Ваш существующий код открыт для SQL-инъекции. Используйте mysqli_*
с подготовленными инструкциями или PDO с подготовленными операторами.