【发布时间】:2012-08-31 16:03:31
【问题描述】:
我有一个使用cvs importer向mysql插入数据的函数问题原代码如下:
{
$sql = "LOAD DATA INFILE '".@mysql_escape_string($this->file_name).
"' INTO TABLE `".$this->table_name.
"` FIELDS TERMINATED BY '".@mysql_escape_string($this->field_separate_char).
"' OPTIONALLY ENCLOSED BY '".@mysql_escape_string($this->field_enclose_char).
"' ESCAPED BY '".@mysql_escape_string($this->field_escape_char).
"' ".
($this->use_csv_header ? " IGNORE 1 LINES " : "")
."(`".implode("`,`", $this->arr_csv_columns)."`)";
$res = mysql_query($sql);
$this->error = mysql_error();
}
我的问题是,如果只有在不重新插入新记录的情况下将记录更新到该表,我怎么能做到这一点,因为我想插入多条记录,然后再次上传它们,但带有一个字段 #LL,它首先是null 然后更新将取值
【问题讨论】:
-
两件事 - 你应该使用
mysql_real_escape_string(),而不是mysql_escape_string(),并且不建议使用@错误抑制运算符。
标签: php mysql csv insert-update