0
我已經看到了在這個問題上的幾個問題,但是他們都沒有能夠幫助我。導入CSV到MySQL
這是我使用的腳本。
<?php
//connect to the database
$connect = mysql_connect("localhost","username","password");
mysql_select_db("mydatabase",$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 contacts (contact_first, contact_last, contact_email) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
//
//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 with PHP & MySQL</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>
它可以正常工作,但無法定義標題行。
我想做的事情,如果可能的話,是從第一行獲取每列,並使用它來定義項目將被放置在數據庫中的列。
所以我想$data[0]
分成CSV文件中定義的每個列。我一直在使用LOAD DATA LOCAL INFILE
嘗試,但它不是爲我工作的某些原因。
查找SQL注入 – Mike
@Mike這是一個管理面板...如果他們要自己注入網站,他們只是普通的愚蠢,不回答這些問題解決,標記 – kira423
你已舉報我的意見,因爲我不回答你所有的問題嗎?這就是爲什麼它是評論,而不是答案。我實際上正在爲你所有的問題輸入一個完整的答案,但是meh。與不安全的代碼繼續,如果這就是你怎麼會是。 – Mike