如何从mysql中检索数据并输出json php?

如何从mysql中检索数据并输出json php?,php,mysql,json,mysqli,Php,Mysql,Json,Mysqli,我有以下代码从mysql检索数据并从php输出json <?php header("Access-Control-Allow-Origin: *"); header('Content-Type: text/html; charset=utf-8'); include 'system/config.php'; $db=mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die('Could not connect'); mysql_select_db

我有以下代码从mysql检索数据并从php输出json

<?php
header("Access-Control-Allow-Origin: *");
header('Content-Type: text/html; charset=utf-8');
include 'system/config.php';
$db=mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die('Could not connect');
mysql_select_db($DB_NAME, $db) or die('');

$result = mysql_query("SELECT * from users") or die('Could not query');

if(mysql_num_rows($result)){
    echo '{"Data":[';

    $first = true;
    $row=mysql_fetch_assoc($result);
    while($row=mysql_fetch_row($result)){
        //  cast results to specific data types

        if($first) {
            $first = false;
        } else {
            echo ',';
        }
        echo json_encode($row);
    }
    echo ']}';
} else {
    echo '[]';
}

mysql_close($db);

?>
但是我知道我的表现是这样的,我知道我还缺少一些东西,我还在学习


{
    "Data": [["5", "lucifer", "user5_37994384.png"], ["7", "Ahmed", "default_avatar.png"], ["10", "Viona", "default_avatar.png"], ["11", "Dream", "default_avatar.png"], ["12", "Zanos", "default_avatar.png"], ["13", "Dean.Winchester", "default_avatar.png"], ["19", "sama", "default_avatar.png"], ["33", "demo", "default_avatar.png"], ["34", "super", "default_avatar.png"], ["42", "tazooo", "default_avatar.png"], ["44", "devil", "default_avatar.png"]]
}
感谢您的帮助

尝试以下示例:

<?php
header("Access-Control-Allow-Origin: *");
header('Content-Type: text/html; charset=utf-8');
include 'system/config.php';
$db=mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die('Could not connect');
mysql_select_db($DB_NAME, $db) or die('');

$result = mysql_query("SELECT * from users") or die('Could not query');

$rowArr = [];
$jsonString = '';
if(mysql_num_rows($result)){
    //fetch data as an array
    $rowArr = mysql_fetch_assoc($result);
    //get array encoded as json
    $jsonString = json_encode($rowArr);
} 
mysql_close($db);

//print rowArr as an array
echo "\nrowArr:\n";
print_r($rowArr);

//print the row Arr as JSON string
echo "\njsonString:\n";
echo $jsonString;

foreach($rowArr as $row) {
    echo $row['user_name'] . '<br>' . PHP_EOL;
}
更多关于和的信息


请注意,mysql_fetch_assoc在较新版本的PHP中不受欢迎,因此如果您或您的托管提供商将PHP版本更新为7,则可能会出现问题,不要尝试手动构建JSON。填充一个PHP数组并使用json_encode。或者直接从MySQL生成json,哪个有很好的JSON支持?您的JSON看起来格式不正确:顶级对象数据中有重复的键我需要获取一些行,如user_name=name谢谢..但如何在html输出中打印JSON结果,如我所需,例如,带来用户列表,每个用户都有与此示例完全相同的拆分行..查看此示例中的红色箭头..您你会知道我在做什么mean@AhmedElSheikh用这个。请参阅我更新的示例代码。
<?php
header("Access-Control-Allow-Origin: *");
header('Content-Type: text/html; charset=utf-8');
include 'system/config.php';
$db=mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die('Could not connect');
mysql_select_db($DB_NAME, $db) or die('');

$result = mysql_query("SELECT * from users") or die('Could not query');

$rowArr = [];
$jsonString = '';
if(mysql_num_rows($result)){
    //fetch data as an array
    $rowArr = mysql_fetch_assoc($result);
    //get array encoded as json
    $jsonString = json_encode($rowArr);
} 
mysql_close($db);

//print rowArr as an array
echo "\nrowArr:\n";
print_r($rowArr);

//print the row Arr as JSON string
echo "\njsonString:\n";
echo $jsonString;

foreach($rowArr as $row) {
    echo $row['user_name'] . '<br>' . PHP_EOL;
}