Php 从mysql读取列时尝试获取非对象的属性
我试图用php和mysqli阅读mysql中的一个专栏,但是我得到了这个错误<代码>注意:尝试获取非对象的属性 PHPPhp 从mysql读取列时尝试获取非对象的属性,php,mysql,mysqli,Php,Mysql,Mysqli,我试图用php和mysqli阅读mysql中的一个专栏,但是我得到了这个错误注意:尝试获取非对象的属性 PHP 说实话,我遗漏了什么?我没有很好地理解对象一章。$db->query返回一个无法直接迭代的结果对象。试着这样做: $subscribers = $db->query('SELECT * FROM subscribers'); while ($subscriber = $subscribers->fetch_assoc()) { $name = $subscriber
说实话,我遗漏了什么?我没有很好地理解对象一章。
$db->query
返回一个无法直接迭代的结果对象。试着这样做:
$subscribers = $db->query('SELECT * FROM subscribers');
while ($subscriber = $subscribers->fetch_assoc()) {
$name = $subscriber['name']; // name is the name of the column
echo $name;
}
因为您应该获取结果:
<?php
$db = new mysqli(HOST, USER, PASSWORD, DATABASE);
global $db;
$subscribers = $db->query('SELECT * FROM subscribers');
while ($subscriber = $subscribers->fetch_object()) {
$name = $subscriber->name; // name is the name of the column
echo $name;
}
@AbhikChakraborty,但是在foreach中还是有这样做的方法吗?您需要使用循环作为对象获取记录,因为光标指针将设置为记录集中的第一条记录。您最好学习如何遵循手动操作,而不是像这样毫无意义的“预感”
$subscribers = $db->query('SELECT * FROM subscribers');
while ($subscriber = $subscribers->fetch_assoc()) {
$name = $subscriber['name']; // name is the name of the column
echo $name;
}
<?php
$db = new mysqli(HOST, USER, PASSWORD, DATABASE);
global $db;
$subscribers = $db->query('SELECT * FROM subscribers');
while ($subscriber = $subscribers->fetch_object()) {
$name = $subscriber->name; // name is the name of the column
echo $name;
}