使用PHP MySQL生成.json文件

时间:2013-05-22 23:16:28

标签: php mysql json wordpress

我正在尝试使用下面的代码生成带有PHP的json文件,并且我得到一个空数组 - > { “职位”:[]}。我正在使用Wordpress。有人可以帮助我。感谢

    $sql=mysql_query("SELECT * FROM wp_posts"); 

    $response = array();
    $posts = array();
    $result=mysql_query($sql);
    while($row=mysql_fetch_array($result)) 
    { 
    $url['url']=$row; 
    $title['title']=$row;

    $posts[] = array('url'=> $url, 'title'=> $title);

    } 

    $response['posts'] = $posts;

    $fp = fopen('results.json', 'w');
    fwrite($fp, json_encode($response));
    fclose($fp);

3 个答案:

答案 0 :(得分:3)

您的代码中存在许多错误!请检查一下:

$result=mysql_query("SELECT * FROM wp_posts");

$i=0;
while($row=mysql_fetch_array($result)) { 
$response[$i]['url']  = $row['url']; 
$response[$i]['title']= $row['title'];
$data['posts'][$i] = $response[$i];
$i=$i+1;
} 

$json_string = json_encode($data);

$file = 'file.json';
file_put_contents($file, $json_string);

答案 1 :(得分:1)

试试这个

header('Content-Type: application/json');    
$sql=mysql_query("SELECT * FROM wp_posts"); 
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) 
{ 
  $posts['url']=$row['url'];; 
  $posts['title']=$row['title'];
  array_push($response, $posts);
} 
$json = json_encode($response);
$file = 'file.json';
file_put_contents($file, $json);

参考:访问here

答案 2 :(得分:0)

问题出在你的while循环中。试试这个:

while($row=mysql_fetch_array($result)) { 
    $url=$row['url']; 
    $title=$row['title'];

    $posts[] = array('url'=> $url, 'title'=> $title);
}