MySQL 返回了一个空结果集

MySQL returned an empty result set

我不明白为什么 mysql table return 空结果集,代码似乎没问题。 mysql 的响应:MySQL return 编辑了一个空结果集(即零行)。 (查询耗时 0.0010 秒)

<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "myexcel";

// Create connection
$connection = mysqli_connect($servername, $username, $password, $database);


if (isset($_POST['submit']))
{
        $file = $_FILES['file']['tmp_name'];
        $handle = fopen( $file, "r");
        while(($fileop = fgetcsv($handle, 3000, ",")) !== false)
        {
            $id = $fileop[0];
            $name = $fileop[1];
            $sql = "INSERT INTO csv (id, name) VALUES ('$id', '$name')";
        }

        if ($sql)
        {
            echo "OK";
        }
}
?>

<html>
<body>
 <input type="file" name="file" id="file"> 
 <input type="submit" value="Upload" name="submit">
</body>
</html>

您忘记查询了:

$sql = mysqli_query($connection, "INSERT INTO csv (id, name) VALUES ('$id', '$name')");

添加 mysqli_query 并将您的 if condition 放入 while 循环中....我在您的代码中看不到任何 form 标记 ???我在这里添加了 post method

   ?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $database = "myexcel";

    // Create connection
    $connection = mysqli_connect($servername, $username, $password, $database);


    if (isset($_POST['submit']))
    {
            $file = $_FILES['file']['tmp_name'];
            $handle = fopen( $file, "r");
            while(($fileop = fgetcsv($handle, 3000, ",")) !== false)
            {
                $id = $fileop[0];
                $name = $fileop[1];
                $sql = mysqli_query($connection, "INSERT INTO csv (id, name) VALUES ('$id', '$name')");

            if ($sql)
            {
                echo "Ok. Inserted <br>";
            }
            }


    }
    ?>

    <html>
    <body>
      <form method="POST"> // add this
     <input type="file" name="file" id="file"> 
     <input type="submit" value="Upload" name="submit">
    </form>
    </body>
    </html>