SQL in einem Plugin / Cron "LOAD DATA LOCAL INFILE"

Hallo, versuche mit meinem Plugin eine Datenbanktabelle zu füllen: class viewLieferantenImport { function \_\_construct() { $filename = 'http://www.meinetestseite.net/export.csv'; // MySQL-Befehl der Variablen $sql zuweisen $sql = "LOAD DATA LOCAL INFILE '$filename' INTO TABLE mytesttable FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES"; Shopware()-\>Db()-\>query($sql); echo 'Die Liste wurde hochgeladen!'; } } der Code läuft ohne Fehler durch, passiert leider aber nichts. Muss ich irgend etwas besonderes beachten wenn ich meine Querry ausführe? Der Code an sich ist funktional.

Hi, soweit ich mich erinnere, ist der SQL-Server da relativ empfindlich was die Rechte der Datei angeht, vll. kannst du in die Richtung nochmal testen. lG Daniel

Soweit ich weiß, arbeitet die Funktion nicht mit URL-Angaben, sondern nur mit wirklich lokal vorhandenen Dateien. Also vorher mittels Curl oder wget auf den Server laden. Gruß Mario

1 Like

Vielen Dank für eure Antworten. Der Link stellt kein Problem dar, der Code funktioniert an sich, in Verbindung mit Shopware und dem Livesystem geht er aber nicht. Soweit ich mich nun informiert habe, hat MySQL aus Sicherheitsgründen bei allen Installationen diese Funktion auf den Livesystemen deaktiviert. Gibt es eine Alternative? Oder wie vergleicht Ihr eure Lieferanten Preise? Mit PHP funktioniert es nur bedingt. Bei einer etwas größeren Datenmenge gibt es bei PHP einen Timeout.