[英]Import CSV file in MySql using PHP code
我將使用PHP代碼在MySql數據庫的表中導入CSV文件。 CSV文件如下:
“2016-09-02”,“100.01”,“4005.09”,“5000”,“1.09”,“120.09”,“100.5”,“200.77”“2016-09-03”,“150.01”,“4205.09” ,“5600”,“1.10”,“150.09”,“300.5”,“300.77”
文件權限是755。
表字段為9(包括id字段):firts是日期時間字段,其他是浮動字段。 我使用的代碼如下,它將在服務器站點上運行:
$csvFile = "../scripts/tabella.csv";
$db = @mysql_connect('**.***.**.***', 'Sql******', '*******');
@mysql_select_db('Sql******_*');
$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE mytable FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' ';
if(!mysql_query($query)){
die(mysql_error());
}
mysql_close($db);
從mysql_error返回第一個錯誤:'找不到文件'。 CSV文件位於“www.mysite.it/mysite/scripts/tabella.CSV”中。 它的權限是755.我嘗試使用realpath($ csvFile)函數,但錯誤始終是相同的。
我試圖在localhost中運行相同的查詢,並且沒有此錯誤,但只有一條記錄插入到表中,其fild值為NULL。
你能幫我嗎? 謝謝!
使用mysql_error來獲取錯誤
if(!mysql_query($query)){
die(mysql_error());
}
試試以下代碼..
$csvFile = "../scripts/tabella.csv";
//The Connection
$mysqli = new mysqli($host,$username,$password,$database);
//Check for successful connection
if ($mysqli->connect_errno) echo "Error - Failed to connect to MySQL: " . $mysqli->connect_error; die;
$query = 'LOAD DATA LOCAL INFILE \' '. $csvFile .' \' INTO TABLE mytable FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\n\' ';
//Do your query
$result = mysqli_query($mysqli,$query);
//Close the connection
mysqli_close($mysqli);
嘗試這種簡單的方法將CSV數據導入Mysql數據庫。該file
是一個HTML元素名稱,用於browse
文件路徑。
if(isset($_POST["submit"]))
{
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file, "r");
$c = 0;
while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
{
$name= $filesop[0];
$sql = mysql_query("INSERT INTO tab(name) VALUES ('$name')");
$c = $c + 1;
}
if($sql){
echo "You database has imported successfully. You have inserted ". $c ." recoreds";
}else{
echo "Sorry! There is some problem.";
}
}
試試這個編碼它的工作
<?php
$connect = mysqli_connect("localhost", "root", "", "testing");
if(isset($_POST["submit"]))
{
if($_FILES['file']['name'])
{
$filename = explode(".", $_FILES['file']['name']);
if($filename[1] == 'csv')
{
$handle = fopen($_FILES['file']['tmp_name'], "r");
while($data = fgetcsv($handle))
{
$item1 = mysqli_real_escape_string($connect, $data[0]);
$item2 = mysqli_real_escape_string($connect, $data[1]);
$query = "INSERT into excel(excel_name, excel_phone) values('$item1','$item2')";
mysqli_query($connect, $query);
}
fclose($handle);
echo "<script>alert('Import done');</script>";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
</head>
<body>
<form method="post" enctype="multipart/form-data">
<div align="center">
<label>Select CSV File:</label>
<input type="file" name="file" />
<br />
<input type="submit" name="submit" value="Import" class="btn btn-info" />
</div>
</form>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.