0
我正在php中使用mysqli_query(在免費層上使用Amazon EC2實例)運行查詢,我對結果進行了json_encoding並返回它們。出於某種原因,如果我不限制要返回的查詢結果的數量(或將限制設置爲超過158個結果的值),則數組返回0。但是,如果我確實放置了限制< = 158的結果,那麼我的所有結果都會在數組中正確返回。代碼如下:PHP mysqli_query返回0,除非我限制查詢結果的數量
function pullFriendData() {
$userID = $GLOBALS['userID'];
$userArray = array();
$query = "SELECT * FROM `User` WHERE `userID` in (SELECT `friendID` FROM `UserFriends` WHERE `userID` = '" . $userID . "'";
if ($query_result = mysqli_query($GLOBALS['con'], $query)) {
while ($row = $query_result->fetch_assoc()) {
$row = convertUserToInt($row);
array_push($userArray, cleanse($row));
}
} else {
echo "[pullFriendData]: Issue with finding friends of given user";
}
return json_encode($userArray);
}
很奇怪的行爲 - 有人遇到過嗎?這是一個PHP問題還是它可能是一個EC2問題?還應該注意的是,我在各種表格上運行了幾個其他查詢,這些查詢返回了數百和數百個結果,沒有問題。
普萊斯不使用'$ GLOBALS'和你的更好使用加入這個查詢 – SuperDJ 2014-09-22 17:48:40
PHP不能不關心查詢重新啓動的記錄數/多少,除非您返回大塊並填滿內存。 – 2014-09-22 17:48:58
查詢更改爲這樣的事: 「SELECT * FROM'User' JOIN'UserFriends' ON'User'.'id' ='UserFriend'.'userID' 其中'UserFriend'.'userID' =' $ userID'「 看看是什麼給你 – SuperDJ 2014-09-22 17:55:22