gpt4 book ai didi

PHP PDO循环遍历SQL结果只显示最后一个

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:55 24 4
gpt4 key购买 nike

亲爱的,

我试图将所有 SQL 结果提取到一个 assoc 数组中,然后提取到 json,但我不知道为什么我只得到最后一个 sql 行。

<?php
require_once "Xsecure/access.php";

$Arry = array();
$json = array();

$access = new DatabaseAccess();
$sql = $access->Connect();
$stmt = $sql->prepare("select mid from players");
$stmt->execute();
$rowCount = $stmt->rowCount();

$Arry = $result;


while ($result = $stmt->fetchAll(PDO::FETCH_ASSOC) ){
$Arry = $result;
}
// for array data access
foreach($Arry as $row){
$json["mid"] = $row["mid"];
};

// 3. Disconnect db connection
$sql = $access->Disconnect();

// 4. Return json output
echo json_encode($json, JSON_UNESCAPED_SLASHES);

?>

结果输出为:

{
"mid": "10"
}

它应该在 1 到 10 之间,而不仅仅是最后一行。我怎样才能做到这一点?我错过了什么?

注意:稍后,我想向不是从 mySql 数据库派生的数组添加额外的键值对,所以我必须使用 assoc 数组。

提前致谢

最佳答案

...
$stmt->execute();
$rowCount = $stmt->rowCount();
$Arry = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($Arry as $row){
$json[]["mid"] = $row["mid"];
};
...

甚至只是

...
$stmt->execute();
$rowCount = $stmt->rowCount();
$json = $stmt->fetchAll(PDO::FETCH_ASSOC);
...

关于PHP PDO循环遍历SQL结果只显示最后一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52672839/

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