亲爱的
我试图将所有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数组。
预先感谢
答案 0 :(得分:3)
...
$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);
...