所以我试图运行这个循环:
while ($serv = mysql_query("select serv_desc from service where serv_id='".$service."'")) {
$serv_desc = $serv['serv_desc'];
}
serv_id
只是一个数字。
$service
是来自$_POST
serv_desc
是服务的描述 - 也许是一两个字。
为什么要暂停超时?
Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\globaldetroit\display.php on line 18
答案 0 :(得分:4)
这是一个无限循环!您将一再重复执行查询。
试试这个:
// Added intval() to prevent SQL injection and standardized variable names ($result)
$sql = "select serv_desc from service where serv_id='" . intval( $service) . "'";
$result = mysql_query( $sql);
$serv_desc = array();
while ($row = mysql_fetch_assoc( $result))
{
$serv_desc[] = $row['serv_desc'];
}
答案 1 :(得分:2)
您的代码如下所示:
我可以创建新查询吗?如果可以的话,再做一次
你应该这样做(我还添加了针对SQL注入的保护):
$query = mysql_query("select serv_desc from service where serv_id='".mysql_real_escape_string($service)."'");
while ($serv = mysql_fetch_assoc($query)) {
$serv_desc = $serv['serv_desc'];
}
答案 2 :(得分:0)
也许是因为我是一个无限循环,因为mysql_query总是返回资源。 试试这个。
$servRes = mysql_query("select serv_desc from service where serv_id='".$service."'");
while ($serv = mysql_fetch_array($servRes, MYSQL_ASSOC)) {
$serv_desc = $serv['serv_desc'];
}
它有效,但当你只有一条记录可以通过时,我会在没有循环的情况下完成它。那时候不需要它。