- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$row); } print-6ren">
我正在尝试回显一个由数组组成的 json 编码数组,但我不知道它不允许我打印那个东西。这是我的代码:
<?php
include_once('confi.php');
header('Content-type: application/json');
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
$lastRecord = isset($_POST['lastRecordID']) ?
mysql_real_escape_string($_POST['lastRecordID']) : "";
$queryForTotalRec = mysql_query("SELECT customer_id FROM `WebServiceTesting`.`sapphire` ORDER BY customer_id DESC LIMIT 1");
$total_rec = mysql_fetch_row($queryForTotalRec);
if($total_rec){
$queryForAllRecords = "SELECT * FROM `WebServiceTesting`.`sapphire` WHERE customer_ID BETWEEN %d AND %d";
$get_all_recs = mysql_query(sprintf($queryForAllRecords, $lastRecord, $total_rec[0]));
$json = array();
while($row = mysql_fetch_assoc($get_all_recs)){
$json[] = array("Status" => 1, "NewRecord" => $row);
}
print_r($json);
echo json_encode($json);
}else{
$json = array("status" => 0, "Error_Message" => mysql_error());
echo json_encode($json);
}
}else{
$json = array("status" => 0, "Error_Message" => "Request Method not correct");
echo json_encode($json);
}
@mysql_close($conn);
错误:格式错误的 JSON:意外的“A”有时是“I”
当我删除 print_r 行时,我得到:没有收到回复当我打印 $json 数组的计数时,我得到的计数是 153,但没有其他输出。
我尝试过的事情:
我阅读了一些您需要使用 array_values() 的类似问题的解决方案例如:
echo json_encode(array_values($json));
相同的响应:“未收到响应”
我还尝试将 echo $json 放入循环中,我知道这在概念上是错误的,但仍然得到预期的错误“语法错误”
此外,我尝试通过 foreach 进行回显,没有运气语法错误,但我可以看到原始输出,但无法验证 json。
仅针对 print_r 上的信息,这是响应:
Array (
[0] => Array (
[Status] => 1 [NewRecord] => Array (
[customer_id] => 1241
[firstName] => Katy
[lastName] => Lest
[email] => klest@yahoo.com [phone] => 787012425
)
)
[1] => Array (
[Status] => 1 [NewRecord] => Array (
[customer_id] => 1242
[firstName] => Hanah
[lastName] => Morrisn
[email] => road@gmail.com
[phone] => 144221275 )
)
[2] => Array (
[Status] => 1 [NewRecord] => Array (
[customer_id] => 1243
[firstName] => James
[lastName] => McGrath
[email] => rosamcgrath@hotmail.com
[phone] => 79684312 )
)
)
刚刚找到了一个答案,如果有人可以提供帮助,我仍在寻找原因。我拉取的记录数量超过 150 条,所以我一次只尝试了 50 条记录,而且效果很好。任何人都知道我实际上如何才能为我的数组分配更多内存,以便它可以同时保存所有必需的数据?
我也尝试过提供准确的索引,我认为数组内存不足,但这甚至不起作用:
$json = new SplFixedArray($difference);
非常感谢您的协助。
最佳答案
刺入黑暗:您的某些数据库行包含非 ASCII 字符(例如 ü、é 等)。您的数据库连接设置为 latin1
,因此数据不是 UTF-8 编码的。 json_encode
需要 UTF-8 编码的数据。如果您获取足够多的行,就会有包含此类非 UTF-8 数据的行,并且 json_encode
会失败。如果行数足够少,您碰巧不会碰到那些有问题的行。
通过在 json_encode
之后输出 echo json_last_error_msg();
来测试它。
将您的数据库连接设置为 UTF-8。请参阅此处如何操作:UTF-8 all the way through
当您包含 print_r
时,您的浏览器提示无效 JSON 的原因很简单:因为 PHP 会输出大量非 JSON 的垃圾,浏览器无法将其解码为 JSON .
关于php - json_encode() 方法有内存限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699154/
我正在尝试使用 twig json_encode 函数,但是当我这样做时 var packageDetails = {{(packageDetails|json_encode)}}; pac
我正在尝试使用 twig json_encode 函数,但是当我这样做时 var packageDetails = {{(packageDetails|json_encode)}}; 而pa
不要重新发明轮子,我指的是已经存在的 Cyrillic characters in PHP's json_encode . 问题是:这些字符是什么,它们是什么意思:\u0435、\u0434 等等?我
这是我目前的脚本: //... PDO CONNECTION AND QUERY //...* $result = $dbh->query($sql)->fetchAll(PDO::FETCH_A
我正在使用 PHP 5.2.x 并希望仅使用私有(private)成员对自定义 PHP 类的对象进行编码。其中一个私有(private)成员是另一个自定义类的对象数组。 我尝试了 https://st
$emailFields = array( array( 'name' => 'comments', 'type' => 'html', 'c
我将一些数据放入我的 mysql 数据库中,它运行良好。但是当我使用 json_encode 获取数据时,我会像这样返回: {"idpostdata":"49","artID":null,"times
我目前正在从mysql表中获取值。这些值是从foreach循环中获取的。然后,在完成循环之后,将数组转换为json对象。但是我在获取json格式以便与其他api结合使用方面遇到困难。我的循环仅在有两个
我有一些与 json_encode 相关的问题:我需要使用一个大数组(几个 100k 项),每个都有非常简单的结构(一个键,一个字符串值)。 json_decode 工作正常,但只要我想对它进行 js
我想出了如何获得我想要的结果(几乎)。我的代码在最后一个 ] 之前添加了一个逗号,所以它不会完全起作用。我知道我可以使用 Json_encode 从我的外部 json 构建我的数组,但我很难过。我要么
我有一个数组,其中包含一些字符串值和一些数值。我用过 json_encode 将数组转换为 json 数组,但它将数字值转换为我不想要的字符串。 [["India","2"],["Panama","
我在 PHP 中有以下示例代码: $data = array( 'hello', 'world', 'hi' ); $ret = array(); $ret['test'] = array();
我正在使用 json_encode 从数组创建一个 JSON 对象。它们的数组有几百个元素长,但 json_encode 似乎只返回数组的第一个元素。 这是 json_decode 的限制,还是我使用
所以这是我的 php 这给了我一个像这样的 JSON [{"name":"Flipkart"},{"name":"jagdish"},{"name":"mm"},{"name":"mouse"},{
看来 json_encode 对我的 PHP 文件中可以包含哪些其他内容非常挑剔。这很好,因为我只是在文件 A(使用 json_encode)自己的文件中执行我通常会执行的操作。 我只是想我会问,因为
我使用这个简单的代码将数据库查询结果转换为 JSON 格式: $result = $mysqli->query(" SELECT date as a , su
我有一个 PHP 代码,需要将数据库表数据编码为 json。所以我使用了 json_encode()。 我使用此处给出的表格 - http://www.geekality.net/2011/08/21
Warning: json_encode(): recursion detected in [Directory] 这个错误是什么,我似乎无法解决这个问题。它针对每个遇到的错误 500 生成一个 B
再次遇到障碍..我需要从 json 文件中编码一系列值,该范围之外的所有内容都将为空。关于如何实现这一目标有什么建议吗? 例如:如果 json 值 >100,则将值返回到新数组中,如果 json 值
我正在创建一个简单的上传脚本。我使用一个简单的表单让人们上传图片,然后外部 php 脚本将上传图片并将一些变量返回到上传页面。 但我无法让部分变量返回工作。目前我正在使用这个: 还包含表单的页面: f
我是一名优秀的程序员,十分优秀!