2016-08-08 28 views
-1

我正在使用JSON從數據庫中檢索數據。問題是當我嘗試檢索整行時什麼都不顯示。如果我顯示單行,則顯示成功。如​​何顯示多行.Am使用while循環。 代碼想顯示多行是:使用JSON顯示很多行

<?php 
 
header('Access-Control-Allow-Origin: *'); 
 
    $con=mysqli_connect("localhost","root","?l:@CoLo2016//?[$^*@!(><)my~~~server~~2000]1620","test") or die("error in server"); 
 
    $sql="SELECT * FROM test"; 
 
    $qry=mysqli_query($con,$sql) or die(mysqli_error($con)); 
 

 
    while($row=mysqli_fetch_row($qry)){ 
 
    
 
    $table_data[]= array("First Name"=$row['fname'],"Last Name"=$row['lname']); 
 
    
 
    
 
    } 
 
echo json_encode($table_data); 
 
?>

任何指導嗎?

+0

一個好的IDE將真正幫助您的循環內趕上這樣一個語法錯誤。 – apokryfos

+0

哪裏是語法錯誤?我曾嘗試=>而不是=但仍然不工作。使用崇高的文本IDE – Colo

+0

崇高可能是可愛的,但它仍然是一個文本編輯器,而不是IDE。沒有適當的插件就沒有太大的作用。 – apokryfos

回答

0

您需要使用=>賦值運算符,而不是=

$table_data[]= array("First Name" => $row['fname'], "Last Name" => $row['lname']); 

<?php 
    header('Access-Control-Allow-Origin: *'); 

    $con=mysqli_connect("localhost","root","?l:@CoLo2016//?[$^*@!(><)my~~~server~~2000]1620","test") or die("error in server"); 
    $sql="SELECT * FROM test"; 
    $qry=mysqli_query($con,$sql) or die(mysqli_error($con)); 

    /* 
     using `fetch_assoc` to return an assiciative array 
     rather then numerically indexed 
    */ 
    while($row=mysqli_fetch_assoc($qry)){ 
     $table_data[]=array("First Name"=>$row['fname'],"Last Name"=>$row['lname']); 
    } 

    echo json_encode($table_data); 
?> 
+0

我已經做到了,但仍然無法正常工作 – Colo

+0

查看手冊(從未使用'mysqli_fetch_row'),它表明返回的數據是以數字索引形式而不是關聯數組。如果'test'表中只有兩列,那麼使用'$ row [0]'和'$ row [1]'應該是相對容易的 - 如果還有更多的話可能使用不同的方法來檢索行。 – RamRaider

+0

嗯我有更多的專欄 – Colo