0
我創建了下面的php代碼來將.csv文件導入運行在phpmyadmin上的mysql數據庫中。代碼如下:使用php導入csv文件到數據庫
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';
$database = 'mydatabase';
$table = 'demo';
if ([email protected]_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database))
die("Can't select database");
if(isset($_POST['submit']))
{
$fname = $_FILES['sel_file']['name'];
echo 'upload file name: '.$fname.' ';
$chk_ext = explode(".",$fname);
if(strtolower(end($chk_ext)) == "csv")
{
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename, "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$sql = "INSERT into demo(orders,quantity,country,dates,comment) values('$data[0]','$data[1]','$data[2]', '$data[3]','$data[4]')";
mysql_query($sql) or die(mysql_error());
}
fclose($handle);
echo "Successfully Imported";
}
else
{
echo "Invalid File";
}
}
?>
<h1>Import CSV file</h1>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
Import File : <input type='file' name='sel_file' size='20'>
<input type='submit' name='submit' value='submit'>
</form>
一旦我提交.csv文件,顯示「成功導入」但是當我只檢查.csv文件的第一行導入到數據庫的數據庫信息。其他記錄不是。
不要使用'mysql_ *'它已被刪除,它將不再起作用,使用'PDO' [鏈接](http://php.net/manual/en/book.pdo.php)或者'mysqli' [link](http://php.net/manual/en/book.mysqli.php)。 – Tom
另外,看看加載數據infile。這是更快的方式導入csv – baao
所以我應該更換mysql,與代碼中的mysqli? – compcrk