2012-07-02 3 views
1

json으로 모든 행을 인코딩하려는 여러 행이있는 테이블이 있습니다.Json_encode가 Null PHP/MYSQL을 반환합니다.

나는 다른 질문 솔루션을 찾고있는 나는 다른 방법을 많이 시도하지만이

을 시도하는 경우로 json_encode 여전히 터미널에서

<?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 

입니다 null을 반환

$sth = mysql_query("SELECT * FROM pictures"); 
    $rows = array("id" => $id,"name" => $name,"description" => $description,"url" => $url,"users_id" => $users_id,"users_id" => $users_id,"totalvoteup" => $totalvoteup,"totalvotedown" => $totalvotedown,"totalvoteneutral" => $totalvoteneutral); 
    while($r = mysql_fetch_assoc($sth)) { 
     $row[] = $r; 
    } 
    print json_encode($rows); 

    $error = json_last_error(); 
    print $error; 

단말 출력은

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

올바른 쿼리를 보내지 않았습니까?

답변

0

이어야한다

$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;

마지막으로 내 데이터베이스 연결이 mysqli하지만 SELECT * 내 쿼리가 MySQL이 mysqli 명령했다 mysql을 내가 변경하는 데 필요한 모든 것입니다 해답을 발견

$rows[] = $r;

+0

+1 좋은 캐치 ... – Blaster

+0

얼마나 당황 스럽습니까? 행을 행으로 변경했지만 여전히'[] 0'을 출력하고 phpMyAdmin의 테이블 행을 모두 볼 수 있습니다 –

+0

@SpaceDust'$ rows'는 비어 있습니다. – xdazz

관련 문제