Diskuze: LOAD DATA INFILE

Ostatní jazyky SQL SQL a databáze LOAD DATA INFILE

Avatar
Tom
Neregistrovaný
Avatar
Tom:

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
Redaktor
Avatar
Odpovídá na Tom
Kit:

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:

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
Redaktor
Avatar
Odpovídá na Tom
Kit:

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:

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
Redaktor
Avatar
Odpovídá na Tom
Kit:

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
Redaktor
Avatar
Odpovídá na Tom
Kit:

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.