【问题标题】:Generate .json file with PHP MySQL使用 PHP MySQL 生成 .json 文件
【发布时间】:2013-05-18 04:09:37
【问题描述】:

我正在尝试使用以下代码使用 PHP 生成一个 json 文件,但我得到了一个空数组 -> {"posts":[]}。我正在使用 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);

【问题讨论】:

  • 您确定从查询中取回数据了吗?
  • 你打电话给mysql_query()两次。第二次,当您尝试获取结果集时,您是在第一个$sql 的结果上调用它。打开错误报告和 display_errors,你会看到 PHP 抱怨。
  • @MichaelBerkowski 所说的,您还将 $url 和 $title 分配给数组 $row。
  • 是的,查询工作正常

标签: php mysql json wordpress


【解决方案1】:

你的代码有很多错误!请检查:

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

【讨论】:

  • 我试过你的代码,它返回几个空值。喜欢 -> {"posts":[{"url":null,"title":null},...
【解决方案2】:

试试这个

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

【讨论】:

    【解决方案3】:

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

    while($row=mysql_fetch_array($result)) { 
        $url=$row['url']; 
        $title=$row['title'];
    
        $posts[] = array('url'=> $url, 'title'=> $title);
    } 
    

    【讨论】:

      猜你喜欢
      • 2017-03-22
      • 2011-10-08
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2012-10-25
      相关资源
      最近更新 更多