[英]Text MYSQL Import Using CSV file
嗨,我需要一只手在處理我正在執行的代碼,我想將字段編號放入代碼中,但未能將其刪除:
我當前的代碼:
ini_set('memory_limit', -1);
error_reporting(0);
$lines = array();
if (($handle = fopen("test.csv", "r")) !== false)
{
while (($data = fgetcsv($handle, 0, ',')) !== false)
{
if (isset($fields))
{
$lines[] = $data;
}
else
{
$fields = $data;
}
}
fclose($handle);
}
$i="0";
$line[$k] = '".addslashes($data['.$i.'])."';
$i++;
$sql .= '$update = "UPDATE `Test` SET <br />`' . implode($fields, '` = \'' . implode($line, '\', \'') . '\',<br />`') . '` = \'".addslashes($data[0])."\'' . "\n";
echo $sql;
我的csv:
test1,test2,test3,test4,test5,test6
我需要輸出:
$update = "UPDATE `Test` SET
`test1` = '".addslashes($data[0])."',
`test2` = '".addslashes($data[1])."',
`test3` = '".addslashes($data[2])."',
`test4` = '".addslashes($data[3])."',
`test5` = '".addslashes($data[4])."',
`test6` = '".addslashes($data[5])."'
我的代碼只輸出:
$update = "UPDATE `Test` SET
`test1` = '".addslashes($data[0])."',
`test2` = '".addslashes($data[0])."',
`test3` = '".addslashes($data[0])."',
`test4` = '".addslashes($data[0])."',
`test5` = '".addslashes($data[0])."',
`test6` = '".addslashes($data[0])."'
任何想法??
為什么不將其放入循環中並直接構造它,請考慮以下示例:
$data = array();
if (($handle = fopen("test.csv", "r")) !== false) {
while(!feof($handle)) {
$fields = fgetcsv($handle, 1024);
}
foreach($fields as $key => &$value) {
$value = $value = '`' . $value . '`' . ' = ' . '".addslashes($data['.$key.'])."';
}
fclose($handle);
}
$sql .= '$update = "UPDATE `Test` SET <br />`' . implode("<br/>\n", $fields);
echo $sql;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.