Php 返回MySQL选择为JSON
我使用以下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_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}]}