Hallo,
ich habe noch nicht viel Erfahrung in PHP und kämpfe seit 3 Tagen intensiv mit der Aufgabe, eine XML-Datei zu parsen und die erhaltenen Werte in eine MySQL-Datenbank zu übergeben.
Mit Hilfe von Google und diversen Foren habe ich schon einen weiten Weg zurückgelegt, aber stoße ständig auf neue Schwierigkeiten… Wie das halt so ist als Newbie…
Also, hier meine aktuelle “Klippe”:
Die Strings, die ich aus der XML-Datei erhalte, können Hochkommata enthalten. Das stört natürlich beim “INSERT INTO”. Wie kann ich die herausbekommen oder z.B. durch “_” ersetzen?
$sql1 = "INSERT INTO tabelle (gc_code, gc_name, gc_typ, groesse, difficulty, terrain, " .
"owner, placed, land, region, log_datum, log_text)" .
"VALUES ('$name', '$urlname', '$gctype', '$gccontainer', " .
"'$gcdifficulty', '$gcterrain', '$gcplaced_by', '$time', " .
"'$gccountry', '$gcstate', '$gcdate', '$gctext')";
$sql2 = str_replace("\'", "_", $sql1);
echo $sql2; // für mich zur Kontrolle, bis ich´s mal hingekriegt hab
$ergebnis = mysqli_query($db, $sql)
or die('Fehler bei Datenbankabfrage: '. mysql_error());
So funktioniert es gar nicht, und wenn, wäre es ja auch Mist, weil dann die Hochkommata um die Strings ebenfalls verschwinden würden…
Übrigens: Wenn ich den Insert-Befehl, den ich erhalte über PHPMyAdmin absetze (nachdem ich vorher das ’ entfernt habe), werden die Daten in die DB geschrieben.
Ich hoffe, es ist nur ein Anfänger-Denkfehler und ihr könnt mir schnell helfen… DANKE!!