[英]Importing CSV to MySQL with PHP
我已經從Internet上收集了一些信息,並編寫了這個小腳本以將CSV文件導入MySQL數據庫。 我認為這是正確的,但是沒有用。
我究竟做錯了什么?
<?php
//connect to the database
$connect = mysql_connect("localhost","testdb","testdb");
mysql_select_db("testdb",$connect); //select the table
if ($_FILES[csv][size] > 0) {
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
mysql_query("INSERT INTO class12 (htno, subcode, subname, int_marks, ext_marks, result, credits) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."'
'".addslashes($data[3])."'
'".addslashes($data[4])."'
'".addslashes($data[5])."'
'".addslashes($data[6])."'
'".addslashes($data[7])."'
)
");
}
} while ($data = fgetcsv($handle,3000,",","'"));
//
//redirect
header('Location: import.php?success=1'); die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Import a CSV File</title>
</head>
<body>
<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Choose your file: <br />
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
如果可能,請有人提供代碼以自動創建帶有文件名(不帶.csv
擴展名)的SQL表,然后將其導入。
您錯過了以下幾行中的逗號
'".addslashes($data[4])."'
'".addslashes($data[5])."'
'".addslashes($data[6])."'
'".addslashes($data[7])."'`
我已經測試過代碼,可以正常工作。如果有幫助,請投票
2.也許您已經在這里放置了表名。您必須寫數據庫名。
mysql_select_db("testdb",$connect); //select the table
mysql_query(“ INSERT INTO class12(htno,subcode,subname,int_marks,ext_marks,result,credits)VALUES('” .addslashes($ data [0])。“','” .addslashes($ data [1])。 “','” .addslashes($ data [2])。“''” .addslashes($ data [3])。“''” .addslashes($ data [4])。“''” .addslashes( $ data [5])。“''” .addslashes($ data [6])。“''” ..addslashes($ data [7])。“'//我認為這是多余的,您的表只有7列!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.