我的数据库中有一个学生表,我试图在其中显示所有记录。我按照有关如何查询的教程进行操作,但它不适用于我到目前为止所得到的内容。对此的解决方案表示赞赏。 我的代码:
?php
$db = new mysqli('localhost', 'root', 'root', 'sportsday') or die("Unable to connect");
//echo "Connected";
error_reporting(0);
if ($result = $db->query("SELECT * FROM student")) {
if ($result->num_rows) {
$count= $result->num_rows;
if ($count > 0) {
while ($row = $result->fetch_assoc()); {
echo $row['surname'], " ", $row['forename'];
}
//$result-> free();
}
}
}
最佳答案
首先,在您的开发环境中,通过 php.ini 或以编程方式打开错误并调整错误报告:
error_reporting(E_ALL);
ini_set('display_errors', 1);
这将使您看到所犯的错误并提醒您注意问题。现在已经说过,立即突出的两件事是语法错误......
点 (
.
) 是字符串连接运算符,而不是逗号 (,
),因此echo $row['surname'], "", $row['forename'];
应该是:
echo $row['surname'] 。 ” “。 $row['forename'];
您的
while
循环中有一个错误的分号...while ($row = $result->fetch_assoc()); {
应该是:
while ($row = $result->fetch_assoc()) {
所以把它们放在一起:
error_reporting(E_ALL);
ini_set('display_errors', 1);
$db = new mysqli('localhost', 'root', 'root', 'sportsday') or die("Unable to connect");
if ($result = $db->query("SELECT * FROM student")) {
if ($result->num_rows) {
$count = $result->num_rows;
if ($count > 0) {
while ($row = $result->fetch_assoc()) {
echo $row['surname'] . " " . $row['forename'];
}
//$result-> free();
}
}
}
关于php - 使用 php 获取显示 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28120145/