我有一个查询,其中num_rows返回一百万条记录。我需要在这一百万条记录中迭代1000,我的意思是从0开始到100万,每1000个生成一个输出(Excel文件):
Excel1: will contain records 1~1000
Excel2: will contain records 1001~2000
Excel3: will contain records 2001~3000
Excel14: will contain records 3001~4000
等等,直到我达到一百万。我想用的是while()
,但我一点也不安全,有什么帮助吗?
假设你正在查询一个数据库,像这样的东西应该工作:
$start = 0;
$end = 1000;
$qstring= 'SELECT col1, col2 FROM mytable ORDER BY col1 LIMIT ?, ?';
$stmt = mysqli_prepare($connection, $qstring);
$stmt->bind_param('ii', $start, $end);
do{
$stmt->execute();
$stmt->bind_result($co11, $col2);
while($stmt->fetch()){
//do something with $col1, $col2
}
$count = $stmt->num_rows
$start = $end + 1;
$end = $start +1000;
} while($count == 1000);