2

我将本机 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 中调整内存限制也不好。这是我以前知道的。

4

0 回答 0