Php Internet Explorer无法处理多个查询

Php Internet Explorer无法处理多个查询,php,mysql,internet-explorer,Php,Mysql,Internet Explorer,这可能是编程问题,也可能不是 这是关于我问的一个问题。你不需要知道前面的问题,但它可能是相关的。我不确定这是否是内存、设置或ie或DBS的问题 $table_name实际上是一个视图,如果它有任何区别的话。数据库是MySQL。我有下面的代码。为了保持一致性,我在末尾添加了die $query = mysql_query("SELECT * FROM $table_name") or die(mysql_error()); $query1 = mysql_query("SELECT * FROM

这可能是编程问题,也可能不是

这是关于我问的一个问题。你不需要知道前面的问题,但它可能是相关的。我不确定这是否是内存、设置或ie或DBS的问题

$table_name实际上是一个视图,如果它有任何区别的话。数据库是MySQL。我有下面的代码。为了保持一致性,我在末尾添加了die

$query = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query1 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query2 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query3 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query4 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

echo "End";
die();
这个简单的php页面不在ie中运行,但在chrome和firefox中运行良好。我发现Internet Explorer无法显示网页错误。开发人员的工具控制台中没有错误。该视图有大约50000条记录

然而,这段代码运行良好。另一个问题不应该有那么大的区别

$query = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query1 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query2 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());

$query3 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());
echo "End";
die();    

$query4 = mysql_query("SELECT * FROM $table_name") or die(mysql_error());
我想也许ie处理的记录太多了250K太少了。所以我尝试了这段代码。该查询每个大约有15条记录

$query = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query1 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query2 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query3 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query4 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'")or die(mysql_error());
echo "End";
die();
这个没完。我收到相同的错误Internet Explorer无法显示网页。然而,这很好

$query = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query1 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query2 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());

$query3 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());
echo "End";
die();

$query4 = mysql_query("SELECT * FROM $table_name WHERE col1 ='var'") or die(mysql_error());
我真的很困惑,为什么InternetExplorer不能处理5个简单的查询。有时它甚至不会进入$query3,也不能超过$query2

我已经在本地测试了这个-Win7,IE8。我有足够的内存、硬盘空间等。我在本地运行PHP5.3.5

我还在两台运行IE8的不同计算机上的基于unix的服务器上进行了测试。同样,服务器上有足够的内存、硬盘空间等,PHP版本为5.25

我在一个小桌子上测试了这个,效果很好。表中有我随机生成的200条记录。但在更大的tableread视图上,它不起作用


在这一点上,我对IE真的很失望。如果IE有任何限制或任何修复方法,请提供任何见解/帮助来解释为什么它不起作用,我们将不胜感激。

这不是IE的问题。IE无法显示网页,因为服务器没有正确返回结果。禁用IE中的友好消息,您可能会收到更好的消息,甚至可能会得到一些关于问题所在的提示。 您还可以将所有内容都包含在一个try-catch中并打印结果,这可能也会有所帮助。

为了澄清问题,PHP在服务器上运行。IE和Firefox是浏览器,不执行任何运行查询的PHP

你运行的PHP脚本可能在IE上超时了。简单地说,渲染需要很长时间,IE认为它已经损坏,大多数用户也会这样


考虑使用AJAX调用。

在执行所有5个查询时,很可能达到了最大执行时间, 并且您的脚本没有返回正确的HTTP状态 可能是错误500,您需要根据apache日志进行验证

然而,最致命的问题是,您重复同一组SQL 5次。 所有查询都返回相同的结果集,您可以简单地将所有5个查询合并为一个

组合查询后,对从视图执行查询所需的时间进行基准测试,
在不知道的情况下,我不愿意说它是安全的。

实际的问题是,由于大查询,您的页面加载时间太长,如果等待时间超过1分钟,IE将超时


但这不应该是必要的,因为没有网页应该需要超过1分钟加载

不确定问题是什么,它可能与IE无关,因为您的代码在服务器端运行,但一般来说,您在查询中没有进行任何错误检查。您需要在mysql\u查询调用之后执行此操作。否则,如果其中一个查询失败,脚本将中断,并且没有错误消息。如何做到这一点是概述了或在这我没有添加错误检查这里。但我在服务器上签入实际代码时出错。我可以加上它,它不会有任何区别。代码已更新。请尝试将内容类型设置为文本/普通。你应该更好地了解出了什么问题。我知道了,但还是犯了同样的错误。我在这里用text/plain寻找什么?我使用的是ajax调用。如果你读了前面的问题,那就是错误的来源。我在这里尝试调试,如果我在mysql中调试,运行查询只需不到一秒钟。IE将在5-10秒内超时。您知道视图中的结果会被缓存吗?但是,如果有更新,缓存将失效,mysql必须重新计算。是否要包括您的iterate for mysql结果?也许你已经包含了一个无限循环,很可能它正在被缓存,因为我从昨天起就没有更新/删除/插入过任何东西。没有任何无限循环。这只是一个用这个片段测试代码的过程。我确实尝试打印结果,但如果我这样做,它不会经过2-3次查询,因此不确定这是否是内存问题。您应该真正开始组合相同的查询,并测试增益。我确实将其添加到了try-catch块中,但我仍然没有收到任何错误消息。只是Internet Explorer无法显示网页..我想
尝试:1。对第一个查询进行注释并保留第五个查询,其工作原理应与没有第五个查询但保留前2个查询时相同。输入表名,而不是变量3。指定单个列4。检查服务器或PHP中同时打开DB连接的数量是否有限制,希望这有帮助…我尝试过,它是这样工作的。2没有区别。3即使是单列,也可以从中选择col1。。它不能全部读出来。4可能同时打开的连接数为250。现在只有30.5个。在两次通话之间打印一些东西,只是为了确保它是那样的,不要被缓冲。使用wget检索URL,这样我就可以准确地看到服务器返回的内容。您有权访问服务器日志吗?你的服务器是windows还是linux?我刚刚读了你的其他线程。我猜你不是直接调用这个脚本,只是通过ajax,对吧?如果是这样的话,你应该试着直接访问它,只隔离所有相关事物中有问题的部分。它在不到10秒内超时。它甚至不超过30秒。我很确定默认值超过30秒。