我试图从数据库中回显整个表,但每次我尝试修复'注意:尝试在第24行的/home/st359450/public_html/epw/database.php中获取非对象的属性'错误,它将无法正常工作。在我的浏览器中,我确认与数据库的连接正常。
建立连接后的PHP代码是:
<?php
$servername = "localhost";
$username = "359450";
$password = "dJDgxR";
//create connection
$conn = mysqli_connect($servername, $username, $password);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully <br> <br>";
$sql = "SELECT klantnummer, voornaam, tussenvoegsel, achternaam, straat, huisnummer, postcode, woonplaats, telefoonnummer, emailadres FROM CMI_klanten";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Klantnummer: " . $row["klantnummer"] . "Naam: " . $row["voornaam"]. " " . $row["tussenvoegsel"]. " " . $row["achternaam"] . "Adres: " . $row["straat"] . " " . $row["huisnummer"] . " " . $row["woonplaats"] . "Telefoonnummer: " . $row["telefoonnummer"] . "Emailadres: " . $row["emailadres"] . "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
$ sql变量中的所有内容拼写正确。我多次检查过它。即使显示错误,它仍然输出'0结果'。我检查了多个类似的问题,但没有一个能够解决我的问题。 错误如下:
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Klantnummer: " . $row["klantnummer"] . "Naam: " . $row["voornaam"]. " " . $row["tussenvoegsel"]. " " . $row["achternaam"] . "Adres: " . $row["straat"] . " " . $row["huisnummer"] . " " . $row["woonplaats"] . "Telefoonnummer: " . $row["telefoonnummer"] . "Emailadres: " . $row["emailadres"] . "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
我希望你们能帮助我!
答案 0 :(得分:1)
您没有数据库参数。在初始化mysqli连接时输入数据库值作为最后一个参数:
$database ='database_naam';
$conn = mysqli_connect($servername, $username, $password, $database);
答案 1 :(得分:0)
您正在从程序mysqli调用对象方法。虽然我不认为这会破坏任何东西,为了你自己的理智和任何可能在你之后看到这些代码的人,我会选择一种风格并坚持下去。
您无法立即拨打num_rows。根据{{3}}:
使用mysqli_stmt_num_rows()取决于您是否使用mysqli_stmt_store_result()来缓冲语句句柄中的整个结果集。
在查询调用后添加此行,然后重试:
$result->store_result();