【发布时间】:2014-11-23 15:25:25
【问题描述】:
对不起我的英语。我正在尝试将数据输出到数据库格式 json。它似乎做的一切都是正确的,但它不是真正的输出。这是我获得的链接:http://ksupulse.tk/get_all.php 如果我确实检查了网站的有效性 http://jsonlint.com/ 或 http://jsonformatter.curiousconcept.com/ 会出错。
get_all.php
<?php
header('Content-Type: application/json; charset=utf-8');
?>
<?php
$response = array();
require 'db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("SELECT * FROM demo") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$response["demo"] = array();
while ($row = mysql_fetch_array($result)) {
$product = array();
$product["id"] = $row["id"];
$product["name"] = $row["name"];
$product["detaly"] = $row["detaly"];
array_push($response["demo"], $product);
}
$response["success"] = 1;
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No products found";
echo json_encode($response);
}
?>
老实说,我花了很多时间寻找这个问题,但没有找到答案。都一样,为什么我打印到数据库的不是json? DB编码的utf_unicode_ci,以及utf8_general_ci中的表
【问题讨论】:
-
你能发布结果输出吗?
-
你能发布一段它回显的数据吗?
json_encode应该创建一个有效的 json 对象(或者FALSE如果它失败了)。代码看起来应该可以工作。 -
另外,请停止使用已弃用的
mysql_api,查看PDO或mysqli以获取推荐使用的较新的api。 -
@BobBrown 是的,当然。在ksupulse.tk/get_all.php 输出
{"demo":[{"id":"3","name":"123123","detaly":"123123123"},{"id":"4","name":"4444","detaly":"555555"}],"success":1}如果我把一个链接到验证器,写 Unexpected token -
这看起来对我来说是正确的,虽然人眼不是 JSON 的良好解析器。哪个验证器给出了错误?