1
我想導入一個CSV文件到MySql數據庫和它的工作除了一件事 - 其中一個字段來自一個自由格式的文本字段,它會導致問題時用戶輸入逗號。然而,「在這個字段中的數據的開頭和結尾處,我正在使用下面的代碼來嘗試將其更改爲空字段,但我無法實現它 - 我必須錯過某些東西並盯着這幾個小時直心不是幫助在此先感謝!問題與導入CSV使用PHP由於逗號字符串
代碼:。
<?php
require('phpsqlajax_dbinfo.php');
$databasehost = $db_host;
$databasename = $db_name;
$databasetable = "tbl_csvImport";
$databaseusername=$db_user;
$databasepassword = $db_pass;
$fieldseparator = ",";
$lineseparator = "\n";
$csvfile = "doecsv.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 ".preg_replace('/"[^"]+"/','',$pdo->quote($csvfile))." INTO TABLE `$databasetable`
FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
LINES TERMINATED BY ".$pdo->quote($lineseparator))
?>
PERFECT謝謝!你!! – ProfessionalAmateur
不客氣:-) –