2012-03-19 50 views
2

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 51 bytes) in C:\xampp\htdocs\project\App\library\PEAR\MDB2\Driver\mysql.php on line 1160由於致命錯誤的內存在運行時

耗盡我有一個大的DB(1.5GB),我拿出當我試圖通過DB的信息來搜索錯誤。我不知道如何解決這個問題?謝謝,如果有人可以幫助。 :-)

+2

顯示你如何搜索一些代碼? – xdazz 2012-03-19 03:04:50

+0

數據庫的大小根本就不重要,除非你將數據庫的全部內容吸收到PHP中並用PHP進行搜索,這引發了問題......爲什麼? – 2012-03-19 03:10:11

+0

@Marc B,您對當前使用的數據庫做出了正確的猜測:-D。這個項目是人們想要我學習的東西,我不知道他們爲什麼這樣做。 – 2012-03-19 03:13:31

回答

3

從一些瘋狂的循環,你可以在你的代碼你可以得到這個錯誤最直接的原因被執行Appart酒店,如果你完全忽略了數據庫的使用,並試圖加載它所有進入PHP

但那樣會很瘋狂! :)

如果你選擇的數據庫是基於SQL嘗試類似:

SELECT * 
(...) 
LIMIT 20 // to get the first xx results only 

作爲一個側面說明,它的偉大,你正在使用大型數據庫爲廣大新手錯誤學習(如非索引表和類似的東西將立即顯現)。

+3

謝謝,我總是從這裏獲得TRUE專業人士的最佳答案。 :-) – 2012-03-19 03:33:38

+0

另外,我想補充一點,PHP對於大規模計算並不意味着什麼(比如搜索1.5GB的表),但SQL對於這項工作來說是完美的。在MySQL中進行搜索,並將有限的結果集返回給PHP。 – 2012-03-19 19:35:17

相關問題