如何从mysql中检索数据并输出json php?
我有以下代码从mysql检索数据并从php输出json如何从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
<?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;
}