Autor Zpráva
Luky
Profil
Zdravím,
nevím proč mi to nebere lomítka:
LOAD DATA LOCAL INFILE 'C:\data.csv' INTO TABLE data_1 FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES

nebo spíš bych potřeboval vysvětlit jak tento import do DB funguje? Proč je problém s lomítky?
Chybová hláška: Can't find file 'C: data.csv'.
Děkuji za rady.

Moderátor Davex: Titulek „LOAD DATA INFILE“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Davex
Profil
Zkus lomítko escapovat: 'C:\\data.csv'.
Luky
Profil
A jak to mám udělat v případě, že si uživatel bude moct vybrat soubor sám? Jinak jsem zkoušel dát obrácené lomítko, to funguje, ale nevím jak udělat to, aby si uživatele mohl vybrat CSV soubor a ten byl nahrán do tabulky v MYSQL databázi.
*Omlouvám se za ten název...
Davex
Profil
Luky:
A jak to mám udělat v případě, že si uživatel bude moct vybrat soubor sám?
Možná bys uživateli neměl dovolit úplně všechno, aby neprovedl něco ošklivého. Co třeba filtrovat všechen vstup od uživatele funkcí mysql_escape_string()?
Luky
Profil
Díky, už to "funguje".

Davex:
aby neprovedl něco ošklivého
Je to pro vyhrazené zákazníky, takže to záleží na nich co si tam napáchají :)

Jinak do databáze se mi to sice zapisuje, ale nejspíš mám nějaké špatné kódování (chybí části textu). Všude používám UTF8. Ale myslím, že chyba bude při přenosu, protože Excel (CSV) používá Windows-1250. Dá se to někde nastavit?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0