使用PHP脚本将CSV导入MySQL?
我有一个CSV文件,我想导入到数据库中,然后用省略的列导出相同的数据。我该怎么做呢?有什么建议吗?使用PHP脚本将CSV导入MySQL?,php,mysql,csv,import,Php,Mysql,Csv,Import,我有一个CSV文件,我想导入到数据库中,然后用省略的列导出相同的数据。我该怎么做呢?有什么建议吗? <?php $databasehost = "localhost"; $databasename = "test"; $databasetable = "sample"; $databaseusername="test"; $databasepassword = ""; $fieldseparator = ","; $lin
<?php
$databasehost = "localhost";
$databasename = "test";
$databasetable = "sample";
$databaseusername="test";
$databasepassword = "";
$fieldseparator = ",";
$lineseparator = "\n";
$csvfile = "filename.csv";
if(!file_exists($csvfile)) {
die("File not found. Make sure you specified the correct path.");
}
try {
$pdo = new PDO("mysql:host=$databasehost;dbname=$databasename",
$databaseusername, $databasepassword,
array(
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
} catch (PDOException $e) {
die("database connection failed: ".$e->getMessage());
}
$affectedRows = $pdo->exec("
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$databasetable`
FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
LINES TERMINATED BY ".$pdo->quote($lineseparator));
echo "Loaded a total of $affectedRows records from this csv file.\n";
?>
您可能应该阅读上的文档。如果该数据库只是一个临时转储场地,则不需要fgetcsv()
、array\u splice()
和fputcsv()
应该是您所需要的全部。我建议使用它要快得多。我建议您编写一个代码,尝试一下,一旦遇到问题就发布一个真正的问题。有关设计问题,请访问: