如何在php中将结果生成为JSON字符串

时间:2014-01-31 11:20:09

标签: php mysql json

我有一个php页面,它从mysql数据库获取值并在浏览器上显示它,现在我想将检索到的值显示为json字符串...

我该怎么做?

php代码:

<?php
require_once('config.php');
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM products_images';
mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo "ID :{$row['ID']}  <br> "."Product_id: {$row['product_id']} <br> "."Image_name: {$row['image_name']} <br> "."image_type : {$row['image_type']} <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

6 个答案:

答案 0 :(得分:1)

试试这个。您不应该使用mysql_ *函数,因为它们现在已被弃用。改为使用PDO或mysqli_ *。

$data = array();
while($row = mysql_fetch_assoc($retval)) {
    $data[] = $row;
}

echo json_encode($data);

答案 1 :(得分:1)

将数据保存到数组,设置正确的标题并使用json_encode:

while($row = mysql_fetch_assoc($retval))
{
    $resultArray[]=$row;
} 
header('Content-Type: application/json');

echo json_encode($resultArray);

答案 2 :(得分:1)

使用json_encode

<?php
require_once('config.php');
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM products_images';
mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
$data = array();
while($row = mysql_fetch_assoc($retval))
{
    $data[]=$row;
}
header('Content-Type: application/json');
echo json_ecode($data);
mysql_close($conn);
?>

答案 3 :(得分:0)

使用json_encode函数将数据编码为JSON格式,使用json_decode函数将JSON数据解码为PHP类型

答案 4 :(得分:0)

首先,您必须将它们存储在数组中,然后使用json_encode将它们转换为json
这是代码
echo json_encode(数组(&#39; id&#39; =&gt; $ row [&#39; ID&#39;],&#39; product_id&#39; =&gt; $ row [&#39; product_id&#39;],&#39; image_name&#39; =&gt; $ row [&#39; image_name&#39;],&#39; image_type&#39; =&gt; $ row [&#39; image_type&# 39])); 希望,它可以帮到你。

答案 5 :(得分:0)

您需要将php对象编码为json。使用json_encode