Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将mySQL数据库查询转换为JSON_Php_Mysql_Sql_Json - Fatal编程技术网

在PHP中将mySQL数据库查询转换为JSON

在PHP中将mySQL数据库查询转换为JSON,php,mysql,sql,json,Php,Mysql,Sql,Json,我使用以下代码连接到本地数据库并从表中查询结果。以下代码无法以JSON格式打印结果。我有什么遗漏吗?谢谢你的帮助 <?php if (!$link = mysql_connect('localhost', 'root', 'root')) { echo 'Could not connect to mysql'; exit; } if (!mysql_select_db('tm-charts', $link)) { echo 'Could not select database'; ex

我使用以下代码连接到本地数据库并从表中查询结果。以下代码无法以JSON格式打印结果。我有什么遗漏吗?谢谢你的帮助

<?php

if (!$link = mysql_connect('localhost', 'root', 'root')) {
echo 'Could not connect to mysql';
exit;
}

if (!mysql_select_db('tm-charts', $link)) {
echo 'Could not select database';
exit;
}

$sql    = 'SELECT Name,status FROM Estimates';
$result = mysql_query($sql, $link);

if (!$result) {
echo "DB Error, could not query the database\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}

$rows = array();

while ($row = mysql_fetch_assoc($result)) {
 $rows[] = $row;
 }

echo json_encode($rows);

?>

更正:您的注释表明您正在获取编码的数组,但您没有将其作为JSON接收,要解决此问题,您必须首先设置标头:

header('Content-Type: application/json; charset=utf-8');
在调用header函数之前,不要进行任何输出,这一点很重要。不在php标记中的空行已经是输出(也在includes中)



第二种可能性:某些单元格包含非法字符,然后
json\u encode
失败。

更正:您的注释表明您正在获取编码数组,但您没有将其作为json接收,要解决此问题,您必须先设置标头:

header('Content-Type: application/json; charset=utf-8');
在调用header函数之前,不要进行任何输出,这一点很重要。不在php标记中的空行已经是输出(也在includes中)



第二种可能性:一些单元格包含非法字符,然后
json\u encode
失败。

mysql\u函数已弃用,不应再使用。话虽如此,我无法立即看到代码存在问题。你有什么收获吗?什么是
var\u转储($rows)给予?从浏览器运行此脚本。您看到页面输出上的JSON字符串了吗?@rjdown谢谢您的回复!变量转储(行);从查询中返回名称和状态的数组。当我使用echo JSON_encode($rows);,为什么不转换成JSON?另外,在我添加var_dump()之前;我的页面是死亡的白色屏幕。@riggsfully我应该运行哪个脚本?mysql_u函数已被弃用,不应该再使用了。话虽如此,我无法立即看到代码存在问题。你有什么收获吗?什么是
var\u转储($rows)给予?从浏览器运行此脚本。您看到页面输出上的JSON字符串了吗?@rjdown谢谢您的回复!变量转储(行);从查询中返回名称和状态的数组。当我使用echo JSON_encode($rows);,为什么不转换成JSON?另外,在我添加var_dump()之前;我的页面是死亡的白色屏幕。@riggsfully我应该运行哪个脚本?包括该代码,以及使用:mysql\u set\u charset(“UTF8”,$link);工作!包括该代码,以及使用:mysql\u set\u charset(“UTF8”,$link);工作!