Hey Leute,
ich wollte mit einer php datei aus einem XML Dokument Daten in eine Datenbank einlesen. Zuerst hab ich mich mit meiner Datenbank(mysql) verbunden dann die bestehende Tabelle geleert anschließend meine Daten aus der XML Datei in mehrere Arrays geladen und wollte diese Arrays dann in die Datenbank einlesen. Jedoch funktuniert das irgendwie nicht so wie ich will...
Ich bin mir nämlich nicht sichher ob man die Daten meiner XML Datei so in arrays speichern kann wie ich das gemacht habe. Was haltet ihr von meinem Code?
php script:
PHP
<?php
$server = "127.0.0.1";
$datenbank = "import";
$user = "root";
$passwort = "";
$xml_Datei = 'test.xml';
if (file_exists('$xml_Datei'))
{
$link = mysql_connect($server, $user, $passwort);
if(!$link)
{
die('Verbindung zur Datenbank konnte nicht hergestellt werden: ' .mysql_error());
}
$DB_Auswahl = mysql_select_db('$datenbank', $link);
if($DB_Auswahl)
{
$table_delete = ('TRUNCATE TABLE "test"');
mysql_query("$table_delete", $link);
if (file_exists($xmldaten))
{
$xml = simplexml_load_file($xmldaten);
var_dump($xml);
$array_name[] = $xml->land->name;
$array_stadt[] = $xml->land->stadt;
$array_grösse[] = $xml->land->grösse;
} else {
exit("Datei $xmldaten kann nicht geöffnet werden.");
}
$table_data = ("Insert Into test value($array_name[$xml], $array_stadt[$xml], $array_grösse[$xml])");
}
mysql_query("$table_data");
}
else
{
return;
}
?>
<html>
<head>
<meta charset="utf-8">
<title>Import_Script</title>
</head>
<body>
</body>
</html>
Alles anzeigen
xml:
XML
<?xml version="1.0" encoding="utf-8" ?>
<europa>
<land>
<name>Österreich</name>
<stadt>Wien</stadt>
<grösse>Klein</grössee>
</land>
<land>
<name>Frankreich</name>
<stadt>Paris</stadt>
<grösse>Groß</grössee>
</land>
<land>
<name>Italien</name>
<stadt>Rom</stadt>
<grösse>Mittel</grössee>
</land>
</europa>
Alles anzeigen