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

如何在php中将结果生成为JSON字符串,php,mysql,json,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_qu

我有一个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);
?>

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

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

echo json_encode($data);

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

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

echo json_encode($resultArray);
使用


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

首先必须将它们存储在数组中,然后使用JSON_encode将它们转换为JSON 这是密码 echo json\u encodearray'id'=>$row['id'],'product\u id'=>$row['product\u id'],'image\u name'=>$row['image\u name'],'image\u type'=>$row['image\u type'];
希望它能帮助您。

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

试着为谷歌考虑正确的关键词……它的echo json编码;这个问题将有100个答案,因为OP没有做出任何努力。
<?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);
?>