IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tom
Neregistrovaný
Avatar
Tom:13.10.2013 17:02

Ahoj,
jsem začátečník v MySQL a mám problém s funkcí LOAD DATA INFILE. Nedaří se mi s ní vpisovat data do tabulky z CSV souboru. Prošel jsem více diskuzí zaměřené na toto téma, ale žádné řešení mi nepomohlo.

Tady je kód:
Mysql_Select_DB("db_frau­d");
$sentinel = mysql_query("LOAD DATA LOCAL INFILE 'C:/db.csv' INTO TABLE 'items'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(param1, param2, param3)");
echo mysql_query($sen­tinel) or die(mysql_error());

Žel bohu, query mi nevrací žádná data. Zkusil jsem různé zápisy zdrojového souboru, zkusil jsem různé verze MySQL, zkusil jsem měnit oprávnění k přístupu na zdrojovém souboru. Přes phpMyAdmin zapisuje do tabulky bez problémů, ale chtěl bych ji mít přímo v kódu kvůli snažší editaci.

Případně díky za každou radu.

 
Odpovědět
13.10.2013 17:02
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:13.10.2013 17:11

Zřejmě máš chybně název souboru 'C:/db.csv'

Tu část "or die(..." bych vyhodil, v dnešních skriptech nemá co pohledávat.

Název tabulky "items" musí být buď bez apostrofů, anebo v obrácených apostrofech.

Divím se, že ti to nevypsalo žádnou chybu.

Nahoru Odpovědět
13.10.2013 17:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Tom
Neregistrovaný
Avatar
Odpovídá na Kit
Tom:13.10.2013 17:21

Funguje to stejně bez ohledu na uvozovky i bez nich. Cestu souboru jsem zkoušel se slashi i s dvojitými backslashi, absolutní i relativní, nikdy se nic nestalo.

 
Nahoru Odpovědět
13.10.2013 17:21
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:13.10.2013 17:25

Zrovna tady jsi to napsal blbě, takže si myslím, že v tom máš zmatek. Jak to tedy máš teď? S uvozovkami, apostrofy, obrácenými apostrofy,... Víš vůbec, jak to má správně vypadat? Tím, že jsi teď nenapsal žádnou informaci, to jenom zbytečně protahuješ.

Nahoru Odpovědět
13.10.2013 17:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Tom
Neregistrovaný
Avatar
Odpovídá na Kit
Tom:13.10.2013 17:41

To, že jsem to vykopíroval zrovna ve verzi s apostrofy byl omyl nebo spíš pokus ze zoufalství. Název tabulky items mám bez apostrofů, což na věci nic nemění, takže ještě nějaká rada?

 
Nahoru Odpovědět
13.10.2013 17:41
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:13.10.2013 17:41

Název tabulky může být v uvozovkách, ale MySQL musí být přepnuto do kompatibilního režimu. Pochybuji, že ho máš nastavený.

Nahoru Odpovědět
13.10.2013 17:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na
Kit:13.10.2013 17:42

A co 'C:/db.csv' ? To podle mne také není v pořádku, ale to už jsem ti psal.

Když sem ani nedokážeš okopírovat chybové hlášení, tak se fakt blbě radí.

Editováno 13.10.2013 17:44
Nahoru Odpovědět
13.10.2013 17:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.