下面是示例代碼:如何添加符號`這個查詢
<?php
function csv_file_to_mysql_table($source_file, $target_table, $max_line_length=10000) {
if (($handle = fopen($source_file, "r")) !== FALSE) {
$columns = fgetcsv($handle, $max_line_length, ",");
foreach ($columns as &$column) {
$column = str_replace(".","",$column);
}
while (($data = fgetcsv($handle, $max_line_length, ",")) !== FALSE) {
while(count($data) < count($columns)) {
array_push($data, NULL);
}
$c = count($data);
for($i = 0; $i < $c; $i++) {
$data[$i] = "'{$data[$i]}'";
}
$sql[] = '(' . implode(',',$data) . ')';
}
$query = "INSERT INTO $target_table (".implode(",",$columns).")VALUES " . implode(',',$sql) . "\n";
echo $query;
fclose($handle);
}
}
$file = 'test.csv';
$table = 'test';
csv_file_to_mysql_table($file,$table);
?>
所以現在會響應:INSERT INTO Mytable (FirstName,LastName) VALUES ('A','B')
。我把替代的mysql_query($查詢),因爲我只是想看看是怎麼回聲查詢。
我試着爲每個列名添加`,但是出錯。
我可以得到一些提示如何添加它?
它呢?我假設你打算使用。而不是+,因爲這不是java ....但我仍然無法得到它的工作:http://codepad.org/nd7gSWXo告訴我這應該是如何工作完全一樣請,我想如果它更短,請使用它。 – Ben
**更正**:代碼應該如下:「'$ columns ='\''。join('\',\'',$ columns)。'\'';'」。參見[這個鍵盤的證明](http://codepad.org/QJuk5oRi)。我原來的帖子確實錯誤地連接了,但我相信你知道如何使用它。當前版本**仍然較短,並且完全相同**,加上**與低於5.3 **的PHP兼容。 – Tadeck
我沒有看到創建額外功能只是爲了連接,然後使用其結果連接,然後再次連接的原因。只需一個簡單的'join()'/'implode()'調用就足夠了,而不是複雜的解決方案。 – Tadeck