尝试打印出关联数组的值 - 错误:数组到字符串转换

时间:2015-11-19 04:18:55

标签: php arrays foreach

我尝试使用表中的foreach来回显包含表中所有行的关联数组的值。

以下是代码:

<?php 
    $result = doSql("SELECT * FROM carts WHERE userID =".$userID);
     if($result && mysqli_num_rows($result)>0) {
        $cartRows = mysqli_fetch_all($result); 

             foreach($cartRows as $key => $value) {

                echo "<tr>
                    <td scope='col'>" .$value['cartID']. "</td>
                    <td scope='col'>" .$value["productToCartQty"]. "</td>
                    <td scope='col' colspan='2'>".$value['invoiced']."</td>
                    <td scope='col' colspan='2'>" .$value['customization']."</td>
                   </tr>";
                }
            } 
 ?>
  

错误:数组到字符串转换

我不明白为什么我会收到此错误,因为我只回显数组$value内部的值,即echo $ value [&#39; cartID&#39;] ?

以下是错误的屏幕截图: https://gyazo.com/cdc8dde8c2e09e91b5209c2b50bcb72c

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要更改:

$cartRows = mysqli_fetch_all($result);

为:

$cartRows = mysqli_fetch_all($result,MYSQLI_ASSOC);