Ben mevcut MySQL tabloları içine sekme ayrılmış metin dosyaları bir dizi okumak için çalışıyorum. Ben kodu oldukça basittir:
$lines = file("import/file_to_import.txt");
foreach ($lines as $line_num => $line) {
if($line_num > 1) {
$arr = explode("\t", $line);
$sql = sprintf("INSERT INTO my_table VALUES('%s', '%s', '%s', %s, %s);", trim((string)$arr[0]), trim((string)$arr[1]), trim((string)$arr[2]), trim((string)$arr[3]), trim((string)$arr[4]));
mysql_query($sql, $database) or die(mysql_error());
}
}
Yakınındaki kullanılacak doğru sözdizimi için MySQL sunucu sürümü karşılık kılavuzunu kontrol''; Ama ne olursa olsun ben ne (dolayısıyla sprintf açıklamada her değişkenin önce döküm) I "Kendi SQL sözdizimi bir hata var olsun line 1 "hatası.
Ben, kod echo MySQL editörü yapıştırın ve iyi çalışır, sadece PHP script çalıştırmak olmaz.
Ben yanlış ne yapıyorum?
Si
GÜNCELLEME: İşte echoe'd SQL şöyledir:
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A1', 'GBEN', '2.50-2.99m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A2', 'GBEN', '3.00-3.49m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A3', 'GBEN', '3.50-3.99m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A4', 'GBEN', '4.00-4.49m')
İlginçtir, ben şimdi tablodaki satır sayısını doğru oluştururken var, ama ekler değerler boş ...
Bu kaynak metin dosyasındaki bir kodlama sorunu olabilir?