dsgdfg30210 2016-12-16 05:14
浏览 36
已采纳

PHP数组转换为字符串

So I made a query which returns many restaurants and I put them in a variable $row:

<?php if(count($Result_restaurants)>0)
{
   foreach($Result_restaurants as $row)
    { ?>
      <div id="ForEveryRestaurant">
      <?php
      $Rest_Name = $row['name'];
      //$Rest_Name = $row;
      $stmt = $db->prepare("SELECT Restaurant.idRestaurant FROM Restaurant WHERE Restaurant.name = \"$Rest_Name\"");
      $stmt->execute();
      $idRestaurant = $stmt->fetch();

      $avg = 0;
      $rateSum = 0;
      $strcard = "SELECT rating FROM Review WHERE Review.idRestaurant = $idRestaurant";
      $stmtcard = $db->prepare($strcard);
      $stmtcard->execute();
      $result = $stmtcard->fetchAll();
      if (count($result) === 0) 
      {
        return 0;
      }
      foreach( $result as $coments) 
      {
        $rateSum += $coments['rating'];
      }
      $avg = $rateSum / count($result);
      $avg = round($avg, 1);

When I try to run my code, it prints Array to string conversion.

The problem appears in this line:

$strcard = "SELECT rating FROM Review WHERE Review.idRestaurant = $idRestaurant";

I searched about the error and I understand but I tried many resolutions and didn't solved the problem.

can someone help please?

  • 写回答

3条回答 默认 最新

  • douwu8524 2016-12-16 05:32
    关注

    You should do like the following

     $stmt->execute();
     $stmt->bind_result($idRestaurant);
     $stmt->fetch();
    

    Try For PDO:

    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    $idRestaurant = $result['idRestaurant'];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀