我将我的原生PHP代码转换为PDO,因为它比原生代码更安全,现在我在尝试检索超过10条记录时遇到执行代码的问题。我总是遇到这个致命的错误:
致命错误:第13行的/home/user/public_html/folder/pdo/user_hashing.php超出了30秒的最长执行时间。
这是我的代码:
$pdo = Database::getInstance();
$stmt = $pdo->db->prepare("SELECT email, name, user_id FROM Users where page='' and reset='' order by user_id asc");
$stmt->execute();
while($row = $stmt->fetchObject())
{
$id= $row->user_id;
$str= $row->name."-".$row->user_id;
$hash=md5($str) ;
$stmt2 = $pdo->db->prepare("UPDATE Users SET request='1', reset='1', userhash=:userHash where page='' and user_id='$id' limit 1");
$stmt2->bindParam(':userHash', $hash);
$stmt2->execute();
unset($stmt2);
}
unset($pdo);
每次脚本运行时,它最多只能检索和更新10条记录。之后,我将得到执行时间错误。
还有其他方法可以阻止这种情况吗?我从未使用本机PHP获得此类错误。并且,在php.ini中调整内存限制并不好。这就是我以前所知道的。