Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的文本文件中充满了php数据库中的数据值?_Php_Mysqli - Fatal编程技术网

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

为什么我的文本文件中充满了php数据库中的数据值?,php,mysqli,Php,Mysqli,以下是我的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

以下是我的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\u fetch\u数组,第二个参数是mysqli\u ASSOC。这将使用包含列名的数组键分配$row。您使用for循环中$i的数字索引访问它们


将其更改为mysqli_fetch_row$result,或者使用mysqli_fetch_数组和mysqli_NUM的第二个参数,该参数将返回带有数字索引的数组。

您尝试回显for循环而不是fwrite?根据php官方网站php.net,没有名为mysqli_NUM_fields的函数:您是指mysqli_NUM_rows?这可用于获取查询中选定的行数。@SulthanAllaudeen-我无法理解您的答案/问题?请详细说明。我在这里任何地方都没用过echo。我只想写信给你file@unixmiah我想要文本文件中的字段数量,因为我想要确保行中的项目用逗号分隔,一旦行结束,它将从下一行开始,也应该提到,您不需要逐个写入每一列,您可以执行如下操作:while$row=mysqli\u fetch\u row$result{fwrite$fh,内爆,,$row.\n;}