Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 2. 1. 2009, 17:24:06
Zdravím, mám problém s importem dat do DB, chtel bych pro import z CSV využít SQL fci
LOAD DATA LOCAL INFILE, ale zrejme asi zadávám špatne parametry, jelikož se mi nedarí import rozumne zprovoznit. kod vypada takto: $vlozeni=mysql_query("LOAD DATA LOCAL INFILE 'pcobc.csv' INTO TABLE pcs FIELDS TERMINATED BY ','LINES TERMINATED BY '\r\n' (obec,psc)"); if (!$vlozeni){ exit('Nepodrilo se importovat dta.'); } ríkám si, že chyba by mohla být v LINES terminated by, ale netuším co bych jiného mel uvést jelikož to je odrádkováno standartne. Díky za každou radu |
||
gardener Profil |
#2 · Zasláno: 2. 1. 2009, 21:29:46
Nikdo netuší, co by mohlo být špatně?
|
||
Kajman_ Profil * |
#3 · Zasláno: 3. 1. 2009, 12:17:13
A mysql_error() vypíše co?
|
||
gardener Profil |
#4 · Zasláno: 3. 1. 2009, 12:25:10
Právě že nic..
|
||
gardener Profil |
#5 · Zasláno: 3. 1. 2009, 12:33:21
Mě se právě líbí ta jednoduchost té fce jinak bych to řešil složiteji pomocí while a pak rozdělit pomocí expolode.
Ale pokud je na to přímo fce, tak proč to řešit složitějc? Jen škoda, že se jí moc nechce spolupracovat:) |
||
gardener Profil |
#6 · Zasláno: 3. 1. 2009, 13:08:41
Tak změna: omlouvám se, překlepl jsem se a MYSQL ERROR ZNÍ takto:
File 'pcobc.csv' not found (Errcode: 2) Což mi nedává opět smysl, jelikož soubor pcobc.csv se nachází přímo v rootu společně se skriptem. |
||
nightfish Profil |
#7 · Zasláno: 3. 1. 2009, 15:29:33
uveď u toho souboru absolutní cestu (a nezapomeň oslashovat všechny případná zpětná lomítka)
|
||
gardener Profil |
#8 · Zasláno: 3. 1. 2009, 16:28:18
Takže fajn, už je to zprovozněno..prvně jsme to vyzkoušel přímo jako dotaz v PHPMyAdmin a když jsem to rozchodil tam, tak jako Php příkaz a kupodivu to šlo i bez escejpování.
Teď by mne už jenom zajímalo jak vybrat jenom určité sloupce, ale to snad bude v manuálu? řešení tedy vypadá takto: $vlozeni=mysql_unbuffered_query ("LOAD DATA INFILE 'C:/xampp/htdocs/PSC/data.csv' INTO TABLE psc FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;//To zalezi podle toho, zda nechceme vkladat..napr id sloupcu "); |
||
Kajman_ Profil * |
#9 · Zasláno: 3. 1. 2009, 19:16:29
jak vybrat jenom určité sloupce, ale to snad bude v manuálu?
Ano bude to tam. Ve výčtu sloupčků tabulky dáte nějakou proměnnou tam, kde se má sloupeček ignorovat. |
||
Časová prodleva: 15 let
|
0