【发布时间】:2014-04-25 04:18:55
【问题描述】:
我必须打一个相当大的电话才能加入 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] 我们的编程理论...","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": ... (还有越来越多的记录,直到最后。)
如您所见,内容字符串开始的位置是我的数据的中间!
所以问题是为什么 PHP 只返回部分数据?
【问题讨论】: