PHP mysqli 打印数组问题
PHP mysqli printing array issue
我对 PHP 和 mysqli 有疑问,因为我不太熟悉编码语言,所以我遇到了这个问题:当我尝试从第 1 行到第 8 行填充数组时,唯一的 return 当我做 print_r $items
结果是 8。不是 1 到 8。有人能帮我吗?
代码
$gebruiker = $_SESSION['user'];
$query = "select `item_id` from inventory where `gebruiker_id` = ?";
$stmt = $db->prepare($query);
$stmt-> bind_param('i', $gebruiker->id);
$stmt->execute();
$stmt->bind_result($item_id);
$items = array();
while ($stmt->fetch()) {
$items['item_id'] = $item_id;
}
库存Table
gebruiker_id | item_id
__________________________
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
1 | 6
1 | 7
1 | 8
您在循环中不断覆盖 $item['item_id']
的值。您可能正在寻找的是:
$items[] = $item_id;
这将捕获数组中的所有项目 ID。
您每次都在覆盖数组中的相同元素...尝试:
$items[] = array('item_id' => $item_id);
我对 PHP 和 mysqli 有疑问,因为我不太熟悉编码语言,所以我遇到了这个问题:当我尝试从第 1 行到第 8 行填充数组时,唯一的 return 当我做 print_r $items
结果是 8。不是 1 到 8。有人能帮我吗?
代码
$gebruiker = $_SESSION['user'];
$query = "select `item_id` from inventory where `gebruiker_id` = ?";
$stmt = $db->prepare($query);
$stmt-> bind_param('i', $gebruiker->id);
$stmt->execute();
$stmt->bind_result($item_id);
$items = array();
while ($stmt->fetch()) {
$items['item_id'] = $item_id;
}
库存Table
gebruiker_id | item_id
__________________________
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
1 | 6
1 | 7
1 | 8
您在循环中不断覆盖 $item['item_id']
的值。您可能正在寻找的是:
$items[] = $item_id;
这将捕获数组中的所有项目 ID。
您每次都在覆盖数组中的相同元素...尝试:
$items[] = array('item_id' => $item_id);