我的代码只是将最后一个文件名插入到我的数据库中。我究竟做错了什么?

此代码回显指定目录中的所有文件名,但仅将文件夹中最后一个文件的名称插入数据库。我必须怎么做才能将目录中的所有文件名导入数据库?非常感谢


<?php

$servername = "localhost";

$username = "root";

$password = "mypswrd";

$dbname = "mydb";


// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

}

$dir = "myFiles";    // directory path to files

// Open a directory, and read its contents

if (is_dir($dir)) {

    if ($dh = opendir($dir)) {

        while (($file = readdir($dh)) !== false) {

            echo $file . "</br>";

            $sql = "INSERT INTO myTable (fileName) VALUES ('$file')";

        }

        closedir($dh);

    }

}

if ($conn->query($sql) === true) {

    echo "New record created successfully";

} else {

    echo "Error: " . $sql . "<br>" . $conn->error;

}

$conn->close();

?>


白衣染霜花
浏览 80回答 1
1回答

精慕HU

这是因为您的“if ($conn->query($sql) === TRUE”)在 while 循环之外。你在 while 循环中构建你的 $sql,但你只在 while 循环之后执行查询,因此你只插入最后一条记录。//建议&nbsp; &nbsp; <?php$servername = "localhost";$username = "root";$password = "mypswrd";$dbname = "mydb";// Create connection$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) {&nbsp; &nbsp; die("Connection failed: " . $conn->connect_error);}$dir = "myFiles";&nbsp; &nbsp; // directory path to files// Open a directory, and read its contentsif (is_dir($dir)){&nbsp; if ($dh = opendir($dir)){&nbsp; &nbsp; while (($file = readdir($dh)) !== false){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo $file . "</br>";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $sql = "INSERT INTO myTable (fileName) VALUES ('$file')";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ($conn->query($sql) === TRUE) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo "New record created successfully";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; echo "Error: " . $sql . "<br>" . $conn->error;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp; closedir($dh);&nbsp; &nbsp; }&nbsp; }$conn->close();?>
打开App,查看更多内容
随时随地看视频慕课网APP