gpt4 book ai didi

php - 将 MySQL 结果保存在二维数组中 - php

转载 作者:行者123 更新时间:2023-11-29 07:53:25 25 4
gpt4 key购买 nike

我正在尝试将查询结果提取到我的数据库中。当结果集只有一行时,我这样做没有问题,但当结果集是多行时,我只得到第一行。

这是我的数据库:

-----keys-------------------
| id | key_nbr | date |
----------------------------
| 42 | abc123 | xxxx |
| 49 | 789xyz | wxyz |
----------------------------

我的功能:

function get_key_info($mysqli) {
if (isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) {
$user_id = $_SESSION['user_id'];
if ($stmt = $mysqli->query("SELECT id, key_nbr, date FROM keys WHERE id=$user_id")){
$row = $stmt->fetch_array(MYSQLI_ASSOC);
return $row;
}
}
return null;
}

执行 print_r($row); 时的输出仅为第一行:

Array ( [id] => 42 [key_nbr] => abc123 [date] => xxxx) 如何让它打印所有行?

最佳答案

在获取数据之前,您必须检查总行数,如果不为零,则执行循环并获取所有记录。

function get_key_info($mysqli) {
if (isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) {
$user_id = $_SESSION['user_id'];
if ($stmt = $mysqli->query("SELECT id, key_nbr, date FROM keys WHERE id=$user_id")){
if($stmt->num_rows != 0) {
$row = array();
while($r = $stmt->fetch_array(MYSQLI_ASSOC)) {
$row[] = $r;
}
return $row;
}
}
}
return null;
}

关于php - 将 MySQL 结果保存在二维数组中 - php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25812504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com