这个问题已经在这里有了答案: > 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
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。