Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » SQL-Statement in Textfile Antworten
SQL-Statement in Textfile

MarkusStruebel
Fachidiot


Beiträge: 134


Hallo,

ich lese derzeit über ein PHP-Skript Inhalte von einem anderen Server aus. Leider ist es mir bisher nur gelungen, diese wieder mit echo auszugeben.

Ich möchte in naher Zukunft jedoch aus den einzelnen Inhalten ein SQL-Statement à la INSERT INTO table VALUES bla bla erstellen.

Meine Frage: Was ist geschickter? Soll ich die Statements zuerst in eine Textfile *,sql schreiben und dann in die MySQL-DB einfügen, oder ist es besser wenn man sie direkt in die Datenbank übernimmt?

Markus

  Profil   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Sind das denn schon fertige SQL-Statements, die du einliest?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

MarkusStruebel
Fachidiot


Beiträge: 134


Nein,
sie werden aus Text und Variablen zusammen gesetzt. Also z. B.:

INSERT INTO table VALUES ('$data[1][1]', '$data[1][2]', '$data[1][3]');
INSERT INTO table VALUES ('$data[2][1]', '$data[2][2]', '$data[2][3]');
INSERT INTO table VALUES ('$data[3][1]', '$data[3][2]', '$data[3][3]');
INSERT INTO table VALUES ('$data[4][1]', '$data[4][2]', '$data[4][3]');

usw.

Meine Frage ist nur: Soll obiger Text in eine statement.sql oder direkt in die Datenbank?


  Profil   Website   Editieren   Zitieren

HoRnominatoR
Mausakrobat


Beiträge: 165


warum denn erst zwischenspeichern?

---
get OPERA for free

  Profil   E-Mail   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Ich mache das auch bei einem Projekt - der User lädt 3 csv-Dateien über ein WebInterface hoch. Daraus erzeuge ich eine Textdatei (.sql). Der User kann dan auswählen welche der SQL-Dateien "aktiviert" werden soll. Zur Aktivierung wird der Dump dann mittels mysql-Binary in die Datenbank eingetragen. Das mysql-Binary ist deutlich schneller beim Zerlegen und Ausführen der SQL-Anweisungen als eine PHP-Lösung. Außerdem habe ich so eine "Backup-Lösung" in Form der älteren SQL-Dateien.

Allerdings schreibe ich keine "Variablennamen" in die Datei, sondern nur das fertige SQL (mit Escaping, Löschen der alten Daten, Aggregieren diverser Zwischenergebnisse, ...). PHP-Variablen haben in dem SQL nix zu suchen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

skc.tiddy
Otto-Normal-Poster


Beiträge: 81


warum einfach, wenn aus kompliziert geht.

die daten speichern ist interessant, aber doch keine statements.

BLAH!!!!

---
...blah.

  Profil   Website   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Es ist in diesem Fall die einfachste Variante. Denn ein solcher SQL-Dump muss nicht nur Daten einfügen, sondern zB auch vorher die Tabellen leeren und nach dem Einfügen diverse Daten aggregieren. Also warum sollte ich die SQL-Statements bei jedem Einfügen erzeugen? Warum sollte ich für Sicherheitskopien drei statt einer Datei verwalten?

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben