我不明白为什么MySQL表返回空结果集,代码似乎没问题。来自 mysql 的响应:MySQL 返回了一个空结果集(即零行)。(查询耗时 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>