2017-08-24 67 views
-1

我正在使用以下PHP代碼從數據庫檢索商店信息字段,但在運行PHP時遇到下面顯示的錯誤。無法檢索數據庫中的輸出數據

<?php 
include ('database.php'); 


$locLat ; 
$locLng ; 
$shopName; 
$shopContact; 

$sql = "SELECT s_iD, s_name,s_contNo,s_lat,s_long from tbl_shop"; 

$result = mysqli_query($con,$sql); 
$arrayResult = array(); 

while ($row = mysqli_fetch_array($result)){ 
    array_push($arrayResult,array("id"=>$row['s_iD'],"shopName"=>$row['s_name'],"shopContact"=>$row['s_contNo'],"latitude"=>$row['s_lat'], 
     "longitude"=>$row['s_long'])); 
} 

echo json_encode (array('result'=> $result)); 


mysqli_close($con); 

但是輸出總是:

{ 「結果」:{ 「current_field」:NULL, 「場計數」:NULL, 「長度」:NULL, 「NUM_ROWS」:NULL,」類型「:空}}

+2

你的數組被稱爲'$ arrayResult'但你產生JSON的時候使用'$ result' – Jens

+0

另外它非常不清楚'current_field'等等來自 – Jens

+0

您應該使用mysqli_fetch_row代替mysqli_fetch_array – GnarfDwarf

回答

1

這裏是你更新的代碼應該是:

<?php 
include ('database.php'); 


$locLat ; 
$locLng ; 
$shopName; 
$shopContact; 

$sql = "SELECT s_iD, s_name,s_contNo,s_lat,s_long from tbl_shop"; 

$result = mysqli_query($con,$sql); 
$arrayResult = array(); 

while ($row = mysqli_fetch_array($result)){ 
    array_push($arrayResult,array("id"=>$row['s_iD'],"shopName"=>$row['s_name'],"shopContact"=>$row['s_contNo'],"latitude"=>$row['s_lat'], 
     "longitude"=>$row['s_long'])); 
} 

echo json_encode (array('result'=> $arrayResult)); // <-- changed from $result 


mysqli_close($con);