注意:尝试使用num_rows获取非对象的属性

时间:2016-04-05 07:48:45

标签: php mysql mysqli

我收到错误:

  

注意:尝试获取非对象的属性。

我已经研究了一段时间了,并且无法找到它的错误,我尝试了一些不同的语法方式(使用['']和事物像这样),但到目前为止没有成功。我也看了很多关于SO的老问题,但他们也没有帮助我。

我的猜测在我的查询中会出现问题,因为如果我在num_rows之前回显结果,它就不会显示任何内容。

$dbhandle = new mysqli($hostdb, $userdb, $passdb, $namedb);

if ($dbhandle->connect_error) {
  exit("There was an error with your connection: ".$dbhandle->connect_error);
}

$result6 = $dbhandle->query("SELECT * FROM email WHERE group= 'groupname' ");
$row_cnt6 = $result6->num_rows;

我希望你能帮助我。

1 个答案:

答案 0 :(得分:4)

GROUP是mysql中的保留关键字必须在反引号中

将此更改为

SELECT * FROM email WHERE group= 'groupname' 

SELECT * FROM email WHERE `group`= 'groupname'

检查清单https://dev.mysql.com/doc/refman/5.7/en/keywords.html

要检查mysqli问题中的错误,请使用

if (!$mysqli->query("YOUR QUERY")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

阅读http://php.net/manual/en/mysqli.error.php

不要直接将值传递给列使用mysqli prepare statement

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php