我试图charts-single-tbl
通过使用以下代码列出表中字段的名称:
$con = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
$query4 = "SELECT * FROM `charts-single-tbl`" ;
$results = $con->query($query4);
$rows = $results->fetch_fields();
echo $rows->name;
$con->close();
但我收到此错误
注意:试图获取C:\ wamp中非对象的属性
您能告诉我我做错了吗?
mysqli_result::fetch_fields()
提供一个作为对象数组的返回值。
mysqli_fetch_fields —返回表示结果集中字段的对象数组
$rows
因此,您的变量是一个数组,但是您试图将其作为单个对象进行访问。您需要遍历它,以获取表中的所有字段名称。
$fields = $results->fetch_fields();
// $fields is an array. Loop over it to get name properties
foreach ($fields as $field) {
echo $field->name . "\n";
}
如果您打算最终获取实际的行值,则可以考虑仅使用fetch_assoc()
并使用数组键来开始获取循环,以查找字段名称。
$results = $con->query($query4);
while ($row = $results->fetch_assoc()) {
// Fields are the keys of $row
$fields = array_keys($row);
// do whatever else you intend to do with $row values
}
当PHP抱怨类型不匹配或使用不当,例如试图获取非对象的属性时,用简单的方法调试它var_dump($rows)
可能会立即指出出了什么问题。在这种情况下,它将显示出阵列结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句