为什么我的文本文件中填充了 php 中数据库中的数据值?

Why my text file is filling with values of data from database in php?

这是我的 PHP 代码:

<?php
$fh = fopen('mytest.txt', 'w');

$con =  mysqli_connect("some.host.com", "username", "password", "database");
if (mysqli_connect_errno($con)) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_select_db($con, "database");
$result = mysqli_query($con, "SELECT * FROM Apri_score");

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $num = mysqli_num_fields($result);
    $last = $num - 1;
    for ($i = 0; $i < $num; $i++) {
        fwrite($fh, $row[$i]);
        if ($i != $last) {
            fwrite($fh, ",");
        }
    }
    fwrite($fh, "\n");
}

fclose($fh);
?>

mytest.txt 文件中充满了逗号但没有数据。我不明白为什么会这样。

您的问题是您正在使用 mysqli_fetch_array(),第二个参数为 MYSQLI_ASSOC。这将为 $row 分配包含列名的数组键。您正在使用 for 循环中 $i 的数字索引访问它们。

将其更改为 mysqli_fetch_row($result) 或将 mysqli_fetch_array()MYSQLI_NUM 的第二个参数一起使用,这将 return 具有数字索引的数组。