【发布时间】:2011-12-13 18:32:33
【问题描述】:
这可能是也可能不是编程问题。
这是关于我问过earlier 的一个问题。您不需要了解之前的问题,但它可能是相关的。我不确定这是否是内存或设置,或者可能是 db(极不可能)问题。
$table_name 实际上是一个view,如果它有什么不同的话。数据库是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 cannot display the webpage" 错误。开发者的工具控制台没有错误。 view 有大约 50,000 条记录。
但是这段代码运行良好。另一个查询不应该有那么大的不同。
$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());
我想可能是需要处理大量记录(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 cannot display the webpage"。不过这很好用。
$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());
我对 Internet Explorer 无法处理 5 个简单查询感到非常困惑。有的时候连$query3都过不去,$query2也过不去。
我已经在本地测试过 - Win7、IE8。我有足够的内存、硬盘空间等。我在本地运行 PHP 5.3.5。
我还在两台运行 IE8 的不同计算机上的基于 unix 的服务器上对此进行了测试。再次有足够的内存,硬盘空间等。在服务器上,PHP版本是5.25。
我确实在一张较小的桌子上进行了测试,效果很好。该表有 200 条我随机生成的记录。但是在更大的table(read view) 上它不起作用。
在这一点上,我对 IE 感到非常沮丧。如果 IE 有任何限制或任何修复它的方法,任何见解/帮助解释为什么它不起作用将不胜感激。
【问题讨论】:
-
不确定问题出在哪里(它可能与 IE 无关,因为您的代码在服务器端运行)但总的来说 - 您没有在查询中进行任何错误检查。在
mysql_query()通话后,您需要执行此操作。否则,如果其中一个查询失败,您的脚本将中断且没有错误消息。 manual onmysql_query()或 reference question. 中概述了如何执行此操作 -
我没有在这里添加错误检查。但是我在服务器上的实际代码中检查错误。我可以添加它,它不会有任何影响。代码已更新。
-
尝试将内容类型设置为
text/plain。您应该更好地了解出了什么问题。 -
我做了,仍然得到同样的错误。我在这里用
text/plain寻找什么?
标签: php mysql internet-explorer