1.原因的出现:
PHP接收到数据之后,先是echo了一个数据到前端,然后再发送查询到的数据库数据到前端,就会出现这个问题。
以下为PHP代码:
<?php
$status = $_GET['STATUS'];
echo $status;//这里与下面的echo起了冲突
//打开数据库
class MyDB extends SQLite3
{
function __construct()
{
$this->open('test.db');
}
}
$db = new MyDB();
$sql =<<<EOF
SELECT * from log2 where STATUS="$status";
EOF;
$ret = $db->query($sql);
$arr = array();
header('Content-Type:application/json');
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
array_push($arr,$row);
}
echo json_encode($arr); // 编码中文,JSON数据
$db->close();
?>
解决方法是:
将测试代码删除即可。
结果:

本文介绍了一种在PHP中常见的数据输出冲突问题及其解决方案。冲突出现在先通过echo直接输出数据,随后再尝试从数据库获取并输出数据时。文章提供了一个具体的代码示例,并指出了解决该问题的方法是移除最初的echo输出。

421

被折叠的 条评论
为什么被折叠?



