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

这个问题已经在这里有了答案:            >            How do I escape reserved words used as column names? MySQL/Create Table                                    3个
我收到错误消息:

Notice: Trying to get property of non-object.

我已经研究了一段时间了,但无法找到问题所在,我尝试了几种不同的语法方式([[]]和类似的东西),但到目前为止没有成功.我还看了很多关于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;

我希望你能帮助我.

解决方法:

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语句

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...