我正在尝试打印输入的任何查询的列标题。我有其他代码连接到数据库并实际打印结果,但我遇到麻烦
'$result .= $heading->name;'
我一直收到这个错误:
'Catchable fatal error: Object of class mysqli_result could not be converted to string in...'
有人可以解释问题是什么吗?根据php手册,这应该给我正确的信息。我虽然是相当新的PHP,所以如果你改进代码,请解释你是如何做到的?
到目前为止,我有以下代码从查询中获取结果:
$result = mysqli_query($conn,$query);
if($result){
if( mysqli_num_rows($result)>0){
$columnNo = mysqli_num_fields($result);
for($i=0;$i<$columnNo;$i++){
$heading = mysqli_fetch_field_direct($result,$i);
$result .= $heading->name;
}
}
}
答案 0 :(得分:0)
$result
是mysqli使用的对象。然后你尝试将一个字符串附加到它的末尾。
只需使用$result
以外的其他变量名称,这将是一个字符串,您将在其中收集列的名称。或者您可以将名称保存在这样的数组中:
$var[] = $heading->name;
答案 1 :(得分:0)
因为 $ result 是您用于执行查询的对象,所以我将无法存储来自db的任何其他数据。你必须使用另一个变量(比如 $ variable )来存储来自db的数据。请遵循以下代码:
$result = mysqli_query($conn,$query);
$variable=''; // add this
if($result){
if( mysqli_num_rows($result)>0){
$columnNo = mysqli_num_fields($result);
for($i=0;$i<$columnNo;$i++){
$heading = mysqli_fetch_field_direct($result,$i);
$variable .= $heading->name; //modify here
}
}
}
我希望这能解决问题..