我是 PHP 新手。我正在嘗試使用此 PHP 代碼閱讀 MySQL。
....
$sql = "select * from GameMaster where UserId = '".$_POST["UserId"]."'";
$result = mysqli_query($link, $sql);
$rows = array();
$return = array();
while($row = mysqli_fetch_array($result)) {
$rows['UserId'] = $row['UserId'];
$rows['Nick'] = $row['Nick'];
$rows['Items'] = $row['Items'];
$rows['Skills'] = $row['Skills'];
...
$rows['LastUpdate'] = $row['LastUpdate'];
array_push($return, $rows);
}
header("Content-type:application/json");
echo json_encode($return);
運行此代碼后不久,它進入無限回圈。當我洗掉 array_push 行時,它沒有進入無限回圈。所以我想這就是問題所在,但我不知道為什么。
我的代碼有問題嗎?MySQL 資料庫位于 Amazon lightsail 中。
請幫我。提前感謝您的任何評論。
uj5u.com熱心網友回復:
如果要從資料庫中獲取所有行,并獲取特定欄位的資料陣列
<?php
$sql = "select * from GameMaster where UserId = '".$_POST["UserId"]."'";
$result = mysqli_query($link, $sql);
$filtered = [];
while($row = mysqli_fetch_all($result)) {
$filtered[] = [
'UserId' => $row['UserId'],
'Nick' => $row['Nick'],
'Items' => $row['Items'],
'Items' => $row['Items'],
'Skills' => $row['Skills'],
'Items' => $row['Items'],
'LastUpdate' => $row['LastUpdate'],
];
}
header("Content-type:application/json");
echo json_encode($filtered);
uj5u.com熱心網友回復:
foreach 記錄您的資料庫資訊,您正在將新資料輸入到 rows 陣列
while($row = mysqli_fetch_array($result)) {
// Logic of you application here
array_push($return, $row);
}
這將獲取的行推入行陣列
如果您不修改資料庫獲取的資訊,該怎么辦。您可以將資訊作為關聯陣列獲取并簡單地將其存盤在變數中。不需要回圈并存盤在新陣列中
$sql = "select * from GameMaster where UserId = '".$_POST["UserId"]."'";
$result = mysqli_query($link, $sql);
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
header("Content-type:application/json");
echo json_encode($rows);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/411451.html
標籤:
