2012-07-02 112 views
1

我有一個表中有多行,我想用json編碼所有的行。Json_encode返回空PHP/MYSQL

我一直在尋找其他的問題和解決方案,我已經試過很多不同的方法,但如果我嘗試這個

json_encode仍然返回null在終端

<?php 
    $mysqli = new mysqli('localhost', 'root', 'password', 'testBasParmak'); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    $sth = mysql_query("SELECT * FROM pictures"); 
    $rows = array(); 
    while($r = mysql_fetch_assoc($sth)) { 
     $rows[] = $r; 
    } 
    print json_encode($rows); 

    $error = json_last_error(); 
    print $error; 

$mysqli->close(); 

?> 

輸出

[]0 

​​

終端輸出是

{"id":null,"name":null,"description":null,"url":null,"users_id":null,"totalvoteup":null,"totalvotedown":null,"totalvoteneutral":null}0 

也許它沒有發送正確的查詢?

回答

0

我終於找到了答案我的數據庫連接是mysqli的,但我對SELECT *查詢是mysql的一切我需要改變的是MySQL的命令的mysqli

$sth = $mysqli->query("SELECT * FROM pictures"); 
    $rows = array(); 
    while($r = mysqli_fetch_assoc($sth)) { 
     $rows[]=$r; 
    } 
    print json_encode($rows); 

給出正確的輸出

["id":"2","name":"Jess","description":"who","url":"www","users_id":"705735067","totalvoteup":"0","totalvotedown":"0","totalvoteneutral":"0"},{"id":"3","name":"Jess","description":"who","url":"www","users_id":"705735067","totalvoteup":"0","totalvotedown":"0","totalvoteneutral":"0"},{"id":"4","name":"Jess","description":"who","url":"www","users_id":"705735067","totalvoteup":"0","totalvotedown":"0","totalvoteneutral":"0"}] 
3

$row[] = $r;

應該

$rows[] = $r;

+0

+1良好的捕獲... – Blaster

+0

有多麼尷尬,我沒有捕捉到。我已將行更改爲行,但它仍輸出'[] 0',我可以在phpMyAdmin中查看所有行的表格 –

+0

@SpaceDust您的意思是'$ rows'是空的? – xdazz