MySQLi fetch_assoc返回500错误

时间:2017-12-25 16:43:23

标签: php mysql email mysqli

我正在使用SMTPValidationTool检查电子邮件。数据库中有大约2500行电子邮件。 PHP脚本使用fetch_assoc()循环遍历该电子邮件,并发现错误的电子邮件。但这是一个问题。当我有一个包含10封电子邮件的小型数据库时,一切都很完美。但是当我上传大约2500封甚至1000封电子邮件时,大约1分15秒或更长时间后,PHP脚本会抛出内部服务器错误500.所有PHP脚本都有set_time_limit(200),max_execution_time是300.没有任何帮助。我认为有些东西是节省行(缓冲)。我使用了MYSQLI_USE_RESULT参数。但这没有用。请帮帮我! :c我不知道为什么会发生这种情况...... 这是我的PHP脚本:

<?php

set_time_limit(200);

chdir('..');

require 'config/config.php';
require 'vendor/autoload.php';

use SMTPValidateEmail\Validator as SmtpEmailValidator;
$validator = new SmtpEmailValidator();

$db = new mysqli($db['host'], $db['user'], $db['pass'], $db['db']);
if ($db->connect_error) {
    die("Unable to connect database: " . $db->connect_error);
}
$query = $db->query("SELECT email FROM import", MYSQLI_USE_RESULT);
$wrong_count = 0;

while($row = $query->fetch_assoc()){
  $result = $validator->validate($row);
  if (!$result[$row['email']]) {
    $wrong_count+=1;
    $db->query("DELETE FROM import WHERE email='".$row['email']."'");
  }
}

0 个答案:

没有答案