几天来,我一直在尝试修复我的 PHP 代码的这一部分,但似乎没有任何效果。
我基本上是一个超级新手。几乎上周我决定尝试使用 PHP 从头开始制作博客。这要求我学习PHP。因此,通过遵循教程和阅读 w3schools 之类的网站,我慢慢地学习了适用的 PHP。
无论如何,这是我正在处理的代码的一部分:
$query = $db->prepare("SELECT post_id, title, body, date_posted, category
FROM posts INNER JOIN categories ON
categories.category_id=posts.category_id ORDER BY
post_id desc limit $start, $per_page");
$query->execute();
$query->bind_result($post_id, $title, $body, $date_posted, $category);
$author = $db->prepare("SELECT username FROM posts INNER JOIN user ON
user.user_id=posts.user_id");
print_r( $author->error );
$author->execute();
$author->bind_result($username);
让我解释。我有 3 个数据库表:帖子、类别和用户。大多数帖子信息都在“帖子”中,包括 category_id 和 user_id,但不是类别和用户的实际名称。我从另外两张桌子上得到这些。$db 使用 mysqli。
上面代码的 $query 部分工作得很好。$author prepare 行是我遇到问题的地方。我根据有效的 $query prepare 行编写了该行。
但是当我运行代码时,我得到“注意:试图获取非对象的属性”。这会导致 $author->execute() 不工作并产生错误:“致命错误:调用非对象上的成员函数 execute()。”
再说一次,由于我是一个超级新手,我认为修复非常简单,可能与我对 PHP 的无知有关。有没有人有任何想法或建议?在此先感谢您的帮助。