我正在使用Flex應用程序通過PHP對我的數據庫進行兩個調用。在我的第二個電話中,我收到一個錯誤,在我的代理調試器中顯示爲Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 40961 bytes)
,這對我來說非常混亂,因爲第一次搜索必須佔用大量內存。 就在我展示代碼之前,我會說我有一個只包含15行的users
表,只有10個小列,我有一個包含19行19列的businesses
表。所以基本上我沒有很多數據。PHP:麻煩與允許的內存大小
我的第一個具有這樣的功能中的以下Flex代碼:
用戶=新用戶();
user.facebookid = facebookidLbl.text;
getUserIDResult.token = userService.getUserByID(user);
其中要求在PHP中的以下功能:
公共職能getUserByID($項目)
{
$getfbid = mysqli_real_escape_string($this->connection, $item->facebookid);
$stmt = mysqli_prepare($this->connection,
"SELECT
users.facebookid,
users.dob,
users.latitude,
users.longitude
FROM users where users.facebookid='{$getfbid}'");
mysqli_stmt_execute($stmt);
$row = new User();
mysqli_stmt_bind_result($stmt, $row->facebookid, $row->dob, $row->latitude, $row->longitude);
if (mysqli_stmt_fetch($stmt)) {
return $row;
} else {
return null;
}
mysqli_stmt_free_result($stmt);
mysqli_close($this->connection);
}
那麼第二個功能是隻有下面一行在柔性:getBusinessResult.token = businessService.getBusiness(business);
其中調用以下PHP:
公共職能getBusiness($項目)
{
$result = mysqli_query($this->connection, "SELECT * FROM businesses");
while (($row = mysqli_fetch_array($result, MYSQL_NUM)) !== false)
{
$data[] = $row;
}
第二個功能至少需要一分鐘即可完成,然後我得到上面提到的錯誤,而第一個功能發生幾乎瞬間。我會假設它是第二個函數,但是錯誤還表明它試圖分配40961個字節,這比配額小很多,所以它必須是第一個這樣做的搜索。 我很堅持,所以任何幫助是極大的讚賞
那麼你推薦我做什麼? – user1077544
@ user1077544:這取決於你爲什麼要存儲它? – Shubham
我需要在我的Flex應用程序中的Google Maps中顯示數據,所以我需要一個for循環,這將允許我從返回的數據創建標記。我曾計劃通過將數據存儲爲數組來實現這一點,所以我在PHP的一面創建了一個數組。 以下是我的Flex代碼的結果: 'var businesslist:ArrayCollection = event.result as ArrayCollection; \t \t \t \t for(var i:int = 0; i
user1077544