gpt4 book ai didi

PHP 仅返回 mysql_query 结果的一半

转载 作者:行者123 更新时间:2023-11-30 00:20:29 26 4
gpt4 key购买 nike

我有一个相当大的调用,我必须连接 4 个表并获取 50 行。当我在 PHP 服务器上进行拉取时,它会在 0.0013 秒内完成拉取,这很好。所以我尝试从我的iOS设备调用PHP来获取记录,有时我得到它们,有时我得到一半。

这是我的 PHP SQL 代码。

$sql = "SELECT NF.id, NF.type, NF.groupid, NF.classid, NF.videoid, NF.lessonid, NF.text, NF.path, NF.datetime, Groups.name as groupname, Groups.imagepath as groupimage, Classes.title as classname, Classes.imagepath as classimage, Videos.title as videoname, Videos.videopath as videopath, Lessons.title as lessonname, Lessons.imagepath as lessonimage   
FROM NewsFeed as NF
LEFT OUTER JOIN Groups on (NF.groupid=Groups.id)
LEFT OUTER JOIN Classes on (NF.classid=Classes.id)
LEFT OUTER JOIN Videos on (NF.videoid=Videos.id)
LEFT OUTER JOIN Lessons on (NF.lessonid=Lessons.id)
WHERE $searchstring
ORDER BY NF.datetime DESC LIMIT 50";

$request = mysql_query($sql) or die(mysql_error());

$arr = array();

if(mysql_num_rows($request)){
while($obj = mysql_fetch_object($request)) {
$arr[] = $obj;
}
}

// Return Array
echo '{"newsfeed":'.json_encode($arr).'}';

mysql_close($link);

现在,当我回显 json_encoded 数组时,有时我会得到从“newsfeed”开始的整个数组:而其他时候我会得到如下内容:

2014-04-24 23:07:09.574 ProgramName[6573:60b] our programming theory...","path":"http://site.com/LMS/NewsFeedPictures/IMG2014170220465189.PNG","datetime":"2014-02-17 20:46:56","groupname":"LMS for iOS","groupimage":"http://site.com/LMS/GroupThumbnails/LMS.jpg","classname":null,"classimage":null,"videoname": ... (and more and more records until the end.)

如您所见,内容字符串开始的位置是我的数据的中间!

所以问题是为什么 PHP 只返回部分数据?

最佳答案

我以前见过这个。

我当时的罪魁祸首是mysql返回的数据中的字符串中的双引号(“)。它在到达js调用时使json字符串无效。

尝试通过许多json validator验证从php生成的json 。我最喜欢的是jslint

关于PHP 仅返回 mysql_query 结果的一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com