FPUTCSV 将数组放入 for 循环

FPUTCSV put an array with for loop

嘿,我正在尝试用数组中的值填充 csv。我该怎么做?

$sql = "SELECT accountNumber, Name,studentManager,contract,
            nationality,university,major,Course,specialNotes,
            Phone,email,birthday,uniAddress 
        FROM " . $dbname . " 
        WHERE id ='$id'";

$query2 = mysqli_query($conn, $sql);
$thisArray = mysqli_fetch_all($query2, MYSQLI_NUM);


header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=userData.csv");
$fp = fopen('php://output', 'w');
foreach ($thisArray[0] as $row3) {
    fputcsv($fp,$row3);
}

fclose($fp);

当您将数据检索到 $thisArray 时,它会创建一个数组,其中每一行都是所有字段值的数组。因此,当您在以下行中使用 $thisArray[0] 时...

foreach ($thisArray[0] as $row3) {

这只会选取您检索到的数据的第一行。 $row3 将是每个单独的字段,fputcsv 期望它是一个数组。

只需将该行更改为

foreach ($thisArray as $row3) {

$row3将是每一行数据。

(原来有答案)