首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP MySQL小查询超时,必须将限制设置为10

PHP MySQL小查询超时,必须将限制设置为10
EN

Stack Overflow用户
提问于 2011-04-06 13:19:28
回答 2查看 9.1K关注 0票数 3

当为一个相对较小的查询调用mysql_query()时,我会得到PHP错误,所以我必须将限制设置为10。

代码语言:javascript
运行
复制
Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\data.php on line 19

我已经从代码中删除了循环,代码似乎挂在mysql_query()函数上。

代码语言:javascript
运行
复制
mysql_connect("192.168.50.250",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT T.Tag as 'Device', y.alarmdesc as 'AlarmType', a.Active, a.Cleared FROM gencore.gc_alarms a JOIN ist.Tree T ON(T.DeviceId = a.DeviceId)  JOIN GenCore.gc_alarmtypes y ON (a.alarmType = y.aid) LIMIT 10";

$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();
?>
<table class="sortable resizable editable tableStyle2">
<tr class="headerStyle">
<th>Device</th>
<th>AlarmType</th>
</tr>
<?php
 $i=0;
while ($i < $num) 
{

    $f1=mysql_result($result,$i,"Device");
    $f2=mysql_result($result,$i,"AlarmType");

?>

<tr>
<td><?php echo $f1; ?></td>
<td><?php echo $f2; ?></td>

</tr>

<?php
    $i++;
} 
?>

</body>
</html>

查询在其他地方执行得非常快,而且只有340行,有没有人有从DB检索小表的指针?

问候约翰

EN

回答 2

Stack Overflow用户

发布于 2011-04-06 13:36:16

您可以使用mysql.connect_timeout键在php.ini中扩展超时。

我还注意到,mysql_close()应该在使用mysql_result之后定位,并且您有一个错误:mysql_numrows应该是mysql_num_rows

票数 3
EN

Stack Overflow用户

发布于 2011-04-06 13:39:28

如果无法及时完成查询,请尝试在SHOW FULL PROCESSLIST;控制台中运行MySQL命令。这将显示任何可能阻止查询写入或读取数据的锁。您的问题听起来可能是在您试图读取的表上有一个活动锁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5567012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档