在资源上调用成员函数fetch_object()

时间:2015-03-09 16:05:20

标签: php mysql database while-loop

我编写了这个包含SQL的PHP​​文件来收集表中的所有帖子。

$selectpost = mysql_query("
SELECT 
posts.id,
COUNT(post_likes.id) AS likes

FROM posts

LEFT JOIN post_likes
ON posts.id = post_likes.post

GROUP BY posts.id

");

while($row = $selectpost->fetch_object()) {

$posts[] = $row;    
}

由于某些原因我不断收到此错误:

在第23行的posts.php中调用资源上的成员函数fetch_object()

第23行是while循环:

while($row = $selectpost->fetch_object()) {

像这样连接到数据库:

$db = mysql_connect('localhost', 'account', 'password');

$dbs = mysql_select_db('site');

出了什么问题,我无法解决它..

2 个答案:

答案 0 :(得分:0)

$ selectpost-> fetch_object()是一个mysqli fucntion,所以$ selectpost需要是一个mysqli结果。

for mysql_query()使用非面向对象的mysql_fetch_object()

基本上你的mysql_query()没有返回一个mysqli对象,但是你试图在它上面调用mysqli方法。

http://php.net/manual/en/function.mysql-fetch-object.php

答案 1 :(得分:0)

您正在使用mysql_ PHP扩展,因此您必须使用

while($row = mysql_fetch_object($selectpost)) {

当然你应该不使用mysql_扩展名,因为它已被弃用