Я пытаюсь повторить значения ассоциативного массива, который содержит все строки в таблице, используя 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 ['cartID']?
Вот скриншот об ошибке: https://gyazo.com/cdc8dde8c2e09e91b5209c2b50bcb72c
Есть идеи?
Вам нужно изменить:
$cartRows = mysqli_fetch_all($result);
чтобы:
$cartRows = mysqli_fetch_all($result,MYSQLI_ASSOC);
print_r($cartRows)
передforeach
и посмотрите, действительно ли это массив