如何使用php将csv文件上传到mysql?

如何使用php将csv文件上传到mysql?,php,mysql,csv,fgetcsv,Php,Mysql,Csv,Fgetcsv,如何使用php将csv文件正确上传到mysql数据库 我在phpmyadmin中有一个列(上传,列名),在这个列中将存储上传的csv文件 我有一个将csv文件上传到mysql数据库的小脚本,但在我单击submit按钮并且csv文件没有保存在数据库中之后,我得到了一些错误“404:file Not Found” 下面是带有html的php文件: <?php include "dbase.php"; //Connect to Database $deleterecords = "TRUNCAT

如何使用php将csv文件正确上传到mysql数据库

我在phpmyadmin中有一个列(上传,列名),在这个列中将存储上传的csv文件

我有一个将csv文件上传到mysql数据库的小脚本,但在我单击submit按钮并且csv文件没有保存在数据库中之后,我得到了一些错误“404:file Not Found”

下面是带有html的php文件:

<?php
include "dbase.php"; //Connect to Database
$deleterecords = "TRUNCATE TABLE contracts"; //empty the table of its current records
 mysql_query($deleterecords);
//Upload File
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
    echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
    echo "<h2>Displaying contents:</h2>";
    readfile($_FILES['filename']['tmp_name']);
}
//Import uploaded file to Database
$handle = fopen($_FILES['filename']['tmp_name'], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
  $import="INSERT into contracts(uploaded) values('$data[0],$data[1]')";
    mysql_query($import) or die(mysql_error());
}
fclose($handle);
echo "Import done";
//view upload form
}else {
echo "Upload new csv by browsing to file and clicking on Upload<br />\n";
echo "<form enctype='multipart/form-data' action='upload.php' method='post'>";
echo "File name to import:<br />\n";
echo "<input size='50' type='file' name='filename'><br />\n";
echo "<input type='submit' name='submit' value='Upload'></form>";
 }
?>

这里有一个简单的脚本,我以前用过:

我想你的脚本文件名为not
upload.php
,这就是为什么你会出现“not Found”错误。

你为什么不把文件存储在你的服务器上然后读取呢?我已经看到并测试过了,不幸的是它与meth不兼容csv没有保存在数据库中请参见。我更改了它,但当我单击上载时,它返回空白页,并且csv仍然没有保存在database@User014019可能发生了一些错误。添加
错误报告(E\u ALL);ini_集(“显示错误”)并再次执行。如果有任何错误,你会看到的。我在上面添加了那个小代码,但我仍然得到这个404:文件在我upload@User014019问题是什么?但如何在“键“PRIMARY”的重复项“0”的结果中删除此项
 <?
 $filename=$_POST['filename'];
 $db=mysql_connect('localhost', 'username', 'password', '3306')
 or die(mysql_error());
 if(!$db) 
die("no db");
if(!mysql_select_db("databasename",$db))
die("No database selected.");
?>