Dam*_*ica -1 php loops for-loop time-limiting
我是PHP的初学者.我试图将大量的项目插入数据库.我正在使用for循环和mysqli_query命令.
我的伪代码是这样的:
for ($i=0; $i<50000; $i++) {
mysqli_query($con, "INSERT INTO users (name, age) VALUES ('$name','$age'); ") ;
}
Run Code Online (Sandbox Code Playgroud)
我有我的代码工作几百个循环,然后poof:致命错误:xxx行xxx超过30秒的最大执行时间
对我来说,唯一的解决方案是每次循环中断后手动递增我的计数器.
还有其他解决方案吗?请帮忙!
不要一次查询每条记录.您可以使用一个语句执行多个插入.以下示例同时执行50次.您可以安全地将其增加到100甚至500.
$counter = 0;
$query = 'INSERT INTO users (name, age) VALUES ';
for ($i=0; $i<50000; $i++) {
$counter++;
$sql .= "('$name','$age'),";
// execute query every 50 records
if ($counter % 50 === 0) {
$sql = rtrim($sql, ',');
mysqli_query($con, $query . $sql) ;
$sql = '';
}
}
Run Code Online (Sandbox Code Playgroud)