我整天都在处理这个......我正在做一个SQL查询,它假设要返回几行,但我只得到一个,我相信它是第一个,我想保存这些结果/ CSV文件中的行。
因此,当我执行var_dump时,只显示一个结果,我只能在CSV文件中写出第一行。
session_start();
$file = 'file.csv';
if(isset($_POST['button1'])){
echo("You clicked button one!");
$con=mysqli_connect("localhost","root","","test");
$query = "SELECT * FROM test.tec_milenio_cubo";
$result = mysqli_query($con, $query); // EJECUTAS LA CONSULTA
$row = mysqli_fetch_assoc($result);
var_dump ($row);
$_SESSION['file'] = $file;
$fp = fopen($file, 'w');
foreach ($row as $value) {
fputcsv($fp, $value);
}
fclose($fp);
mysqli_close($con);
答案 0 :(得分:1)
在while
上使用$row
循环。
$fp = fopen($file, 'w');
while ($row = mysql_fetch_array($result)) {
var_dump ($row);
fputcsv($fp, $row);
}
fclose($fp);
答案 1 :(得分:0)
Quixrick是对的。
您的初始代码一次只从数据库中提取一条记录。
while循环将继续,直到拉出所有记录,并在$ row未赋值时结束。
快乐编码: - )!