2012-03-19 76 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

相关问题