2014-03-02 42 views
1

我收到了一個數組,其數值超出了我的MySQL,並且我正在嘗試json_encode()它。 Theres沒有輸出,但沒有。只是一個白色的屏幕,沒有錯誤,沒有。有任何想法嗎? 數組$行完美填充值。json_encode與MySQL數組

if (!$connection = mysqli_connect($db_host, $db_user, $db_pw, $db)) 
    die("Connection not successful.\n"); 

$sql_qry = "SELECT * FROM `table`;"; 
if (!$result = mysqli_query($connection, $sql_qry)) 
    echo "Wasn't able to send query: ".mysqli_error($connection)."\n"; 

while ($rows[] = mysqli_fetch_assoc($result)); 

mysqli_close($connection); 

echo json_encode($rows); 
+0

怎麼辦你知道它完全充滿了價值? – OneOfOne

+0

檢查Web服務器的日誌中是否有錯誤... – tonjo

+0

只是一個提示:設置傳輸字符集爲UTF8'SET NAMES UTF8' –

回答

-1

while分配是不實際的迭代ResultSet和分配從SQL查詢中現有的行給這個變量。如果您想訪問你的while語句的範圍之外返回的結果集的全部內容,那麼你需要走的ResultSet和每一行分配給您的while語句的執行之前定義的數組:

$rows = array(); 
while ($ret = mysqli_fetch_assoc($result)): 
    $rows[] = $ret; 
endwhile; 

mysqli_close($connection); 

echo json_encode($rows);