我正在創建一個從PHP端接收數據的android項目。但是PHP代碼沒有任何結果。我寫了這個php代碼,并檢查了它是否可以循環到其他地方,沒有人發現鞋子。但是我的SQL查詢會手動在XAMPP SQL中提供輸出。if($_SERVER['REQUEST_METHOD']=='POST'){ include_once "Dbconnect.php"; $phone= $_POST['phn']; $sql="Select peoples.name as pname, peoples.address as addr, peoples.phone as phone, peoples.nomineephone as nphone, peoples.idproofnumber as idproof, camp.campid as cid, camp.Managername as mgrname, camp.managerno as mgrphone, camp.name as cname, camp.Location as loc from peoples inner join camp on peoples.campid=camp.campid where peoples.phone='$phone'"; $result = $conn->query($sql); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $tem = $row; $json = json_encode($tem); } } else { echo 'No people data found'; } echo $json;}我試圖在PHP端回顯電話號碼,我從android獲得了電話號碼,并且該數據在DB中可用。但是這段代碼沒有給出數據。我希望查詢的輸出為android中的json
2 回答
楊魅力
TA貢獻1811條經驗 獲得超6個贊
最終獲取數據并輸出的代碼可能是原因。當您從獲得結果時fetch_assoc(),將返回最后一次迭代false,但是當您為其分配結果時$row[],它將添加false到數據中。
在這段代碼中,循環僅建立了一個行列表,然后將json_encodes()它們顯示在輸出中。它還會先創建一個空數組,以確保將其初始化。
它還會返回JSON中找不到的所有數據,而不僅僅是將其echo讀出。
$rows = [];
if ($result->num_rows >0) {
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
} else {
$rows = [ 'error' => 'No data found' ];
}
echo json_encode($rows);
如果您只希望返回1行,則可以使用
if ($result->num_rows >0) {
$row = $result->fetch_assoc();
} else {
$row = [ 'error' => 'No data found' ];
}
echo json_encode($row);
- 2 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消
