【发布时间】:2011-08-24 23:25:31
【问题描述】:
我当前的代码:
<?php
if(require("connect.php"))
{
$result = $mysqli->query('SELECT title, description, portfolio FROM Portfolio;');
while($o = $result->fetch_object())
{
$title=htmlspecialchars($o->title);
$description=htmlspecialchars($o->description);
$portfolio=htmlspecialchars($o->portfolio);
echo <<<ARTBOX
<div class="artbox">
<div class="photocontainer">
<img src="$portfolio" alt="$title" />
</div>
<div class="artboxtitle">
$title
</div>
<div class="artboxdescription">
$description
</div>
<div class="artboxenquiry">
<img src="images/enquiry.png" alt="Make an Enquiry" href="#" />
</div>
</div>
ARTBOX;
}
}
else
{
echo "An error occurred, please try again.";
}
?>
返回错误:“致命错误:在...中的非对象上调用成员函数 fetch_object()”
谁能告诉我哪里出错了?
【问题讨论】:
-
您的查询可能失败,导致
mysqli_query返回false。因此你的$result是false,你不能在false上调用fetch_object()。 -
如果您的姓名拼写错误,请检查您的查询
-
在调用成员函数之前检查
if($result)。 -
刚刚意识到该表在开始时有一个资本,如“投资组合”而不是“投资组合”,简单但我无法拿起它。
-
您应该使用约定来命名您的表。例如,您有一个名称和大小写完全相同的表和字段,这可能会导致很多混乱。可能使用复数形式的表名