我正在从包含18列的文件中插入数据,我想将其插入的表有20列。其中2列已包含数据。如何在不覆盖现有数据的情况下将文件插入表中。
下面是代码示例。 note $line .= ',,'
附加两列,因为除非列与20列的确切表大小匹配,否则更新不会起作用。但$line .= ',,'
会覆盖已插入的数据。我该怎么办?
$fcontents = file('data.txt');
if(mysql_error())
echo mysql_error();
for($i=0; $i<sizeof($fcontents); $i++)
{
//strip out double quotes
$line = ereg_replace('"','',trim($fcontents[$i]));
$line .= ',,';
//strip replace semi-colon with blank spaces
$line = ereg_replace(';',' ',$line);
//single quote in parts records breaks replace code, removing single quote...
$line = ereg_replace("'",'',$line);
//breaks apart the tab delimited row into a array
$arr = explode(",", $line);
//add comma deliminted data back
mysql_query("REPLACE INTO products VALUES ('". implode("','", $arr) ."')");
}
答案 0 :(得分:4)