尝试显示 SQL 表中的值,接收错误,尝试获取非对象的属性


Trying to display values from a SQL table, recieveing error, trying to get property of non-object

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "comp4";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT OrderID, id, items FROM orders WHERE id= $user";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$results =   $row["OrderID"]. " " . $row["id"]. $row["items"]. "<br>" ;
}
$loop = implode( " ", $items );
echo $loop;
}
?>
所以,我

有这个代码,我正在尝试显示来自登录用户的 OrderID、id 和项目$user=登录者在我的代码的不同部分,但是我不断收到错误注意:尝试在第 35 行的 C:''xampp''htdocs''myorders.php 中获取非对象的属性环顾四周后,我仍然不太确定如何解决这个问题。任何帮助不胜感激

我猜你的错误在于这行代码:

$sql = "SELECT OrderID, id, items FROM orders WHERE id= $user";

可能是 ID 是 SQL 的保留关键字,或者$user未定义和/或不是数值。

请尝试以下操作:

$sql = "SELECT `OrderID`, `id`, `items` FROM `orders` WHERE id = $user";

错误的原因是查询失败。然后,您稍后执行以下操作:

if ($result->num_rows > 0) {

由于查询失败,$result不是对象,您尝试访问此非对象的num_rows。

当然,我只是猜测,因为我们需要更多信息:)