PDO执行得到了时间

时间:2012-11-14 05:44:50

标签: php optimization pdo execution-time

我将我的原生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中调整内存限制并不好。这就是我以前所知道的。

0 个答案:

没有答案