如果执行查询,则显示查询结果

时间:2017-11-26 04:06:01

标签: php mysql

我要做的是获取$ r变量的值(返回一些车辆ID值)以显示在页面上。但是它会返回以下错误。

  

可恢复的致命错误:类mysqli_result的对象不可能   转换为字符串   C:\ XAMPP \ htdocs中\定力\ SYSTEM \模块\预订\控制器\ reservationcontroller.php   在第166行

问题出在echo $r声明中。我试过回声' $ r'但是,即使它显示消息'车辆可用'。

,它也没有显示任何内容
if ($nor > 0) {
    $r = $objs->searchVehicle($vhandover, $vreturn, $seatcap);
    if ($r) {
        $msg = "Vehicle available";               
        $status = 1;
        echo $r;       
    } else {
        $msg = "Something is not right!";
        $status = 0;
    }
}

我在这里做错了什么,如何纠正?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

我假设您的车辆表有以下栏目 - id, name, type。执行查询时,$r包含一个带搜索结果的关联数组 -

$r = [ ['id'=>1, 'name'=>"toyota", 'type'=> "regular"], ....]

这不是任何String。因此,如果您想要echo任何列值,您需要提及它 -

echo $r['name'];

但是如果您的查询返回多个结果,则需要将echo置于foreach循环中。

foreach($r as $row) {
    echo $row['name'];
}

<强>更新
如果上述代码对您不起作用,请尝试以下操作 -

while($row = $r->fetch_assoc()) {
    echo $row['id'];
}

更新:2 您可以使用fetch_array($r) -

while ($row = fetch_array($r)) {
    echo $row['name'];
}

希望清除你的概念!