Php 返回MySQL选择为JSON

Php 返回MySQL选择为JSON,php,mysql,json,Php,Mysql,Json,我使用以下php代码将MYSQL的结果构建为JSON: <?php $mysql_db_hostname = "localhost"; $mysql_db_user = "root"; $mysql_db_password = ""; $mysql_db_database = "essensplan"; $con = @mysqli_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password, $mysql_db_dat

我使用以下php代码将MYSQL的结果构建为JSON:

<?php
$mysql_db_hostname = "localhost";
$mysql_db_user = "root";
$mysql_db_password = "";
$mysql_db_database = "essensplan";


$con = @mysqli_connect($mysql_db_hostname, $mysql_db_user, $mysql_db_password, $mysql_db_database);

if (!$con) {
 trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$var = array();
 $sql = "SELECT * FROM beispiel";
$result = mysqli_query($con, $sql);

while($obj = mysqli_fetch_object($result)) { $var[] = $obj; }

echo '{"users":'.json_encode($var).'}';
?>

检查连接错误后,应修改零件,如下所示:

$var = array();
$sql = "SELECT * FROM beispiel";
$result = mysqli_query($con, $sql);

while($obj = mysqli_fetch_object($result)) { 
    $var['users'][] = $obj; 
}

echo json_encode($var);
例如,如果返回的结果是数组,那么

array(
    'name' => 'person1',
    'age' =>  25
),
array(
    'name' => 'person2',
    'age' => 30
),
array(
    'name' => 'person3',
    'age' => 22
)
然后返回的JSON响应如下:

{"user":[{"name":"person1","age":25},{"name":"person2","age":30},{"name":"person3","age":22}]}

希望解决了您的问题,如果需要进行任何修改,请提供更多信息。

您应该详细说明它在何处工作和之后不工作之间的步骤。启用错误报告、mysqli\u错误、检查字符集、var\u转储结果集、使用IDE调试器等。特殊字符可以中断json,它将返回null。您可能需要对它们进行utf8\u编码。但是,如果没有看到表结构和数据,很难说。您能转储$var的内容吗?在我的表中,有4行是双精度的,4行是utf8编码的。谢谢,但它也不起作用(My db调用'essensplan',表名为'Beispile',示例中的一列名为'Hauptspeise'。但它没有显示任何内容,json中的响应是空的。到底是什么问题?应用程序期望什么响应?响应是否为空?**编辑:您可以尝试删除'at'字符(@)从这一行
$con=@mysqli_connect(..
)。添加该字符意味着如果该调用调用了任何错误,它将被静音-因此您不知道那里是否确实有错误。删除它后,请尝试在上述行之前添加
错误报告(E_ALL);
(仅在尝试解决此问题时添加它)。如果有任何错误,它将为您显示所有错误-这样我们可能更接近于找到您的问题,因为我在您的代码中没有看到任何其他可能导致此问题的内容。我将
错误报告(E\u all)
函数,但也有所有空的,没有错误代码和json脚本。数据库工作,只显示带有echo的正常数据库。有来自我的表的数据。是否有使用php的json的特殊设置?或者是否有
错误报告
用于
json\u encode
?尝试添加下面的行e> $var['users'][]=$obj;
print\r($obj);
这将打印给定对象的可理解表示,或者简单地说,显示PHP如何查看变量。
{"user":[{"name":"person1","age":25},{"name":"person2","age":30},{"name":"person3","age":22}]}