如何解决为什么使用MySQLi的这段代码会抛出PHP注意:试图获取非对象的属性
|| 此代码可以正常工作,并按预期输出数组,但是会引发以下错误消息: PHP注意:试图获取非对象的属性... 这是我的代码:$mysqli = new mysqli(\"localhost\",\"user\",\"pass\",\"database\");
$sql = \"SELECT keyterm
FROM keyterms\";
$results = $mysqli->query($sql);
while($result = $results->fetch_object()->keyterm)
$keyterms[] = $result;
解决方法
当结果集中没有更多结果时,1ѭ将返回null,因此while循环的最后一次迭代将尝试访问null值上的
keyterm
属性。
您应该将结果对象分配给“ 3”,然后访问循环主体中的属性,例如:
while($result = $results->fetch_object())
$keyterms[] = $result->keyterm;
, $keyterms = array();
if ($results = $mysqli->query($sql))
{
while($obj = $results->fetch_object())
{
$keyterms[] = $obj->keyterm;
}
}
, 之所以收到该警告,是因为在检查游标是否返回有效对象之前先查找该属性。换句话说,在记录集用完后的最后一次迭代中,您将有一个没有keyterm
属性的空对象。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。