Arrays in Mysql Datenbank einfügen

petschni

Mitglied
Hallo,

ich habe folgenden Code und eigentlich sollte er fehlerfrei sein, aber ich bekomme immer folgende Meldung:

Parse error: parse error, unexpected T_STRING in /home/sites/site106/web/afs-dresden/test/anlegen.php on line 31

Zeile 31 ist die Zeile, die mit $sql = "INSERT INTO ". anfängt.

Kann mir jemand helfen?

viele grüße
peter

PHP:
<?php 


 $benutzer[0]["Nickname"] ="admin"; 
 $benutzer[0]["Kennwort"] = "admin"; 
 $benutzer[0]["Nachname"] = "Mustermann"; 
 $benutzer[0]["Vorname"] = "Max"; 

 $benutzer[1]["Nickname"] = "test"; 
 $benutzer[1]["Kennwort"] = "abc"; 
 $benutzer[1]["Nachname"] = "Kunze"; 
 $benutzer[1]["Vorname"] = "Martin"; 

 // Sie können an dieser Stelle beliebig viele Benutzer anlegen. 
 // Achten Sie dabei nur auf die Fortführung der Nummer. 

 // Aufbau der Datenbankverbindung 
 $connectionid= mysql_connect ("localhost", "xxx", "xxxx"); 
 if (!mysql_select_db ("peterschnitzler1", $connectionid)) 
 { 
 die ("Keine Verbindung zur Datenbank"); 
 } 

 // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. 
 mysql_query ("DELETE FROM benutzerdaten"); 

 // Daten eintragen 
 while (list ($key, $value) = each ($benutzer)) 
 { 
 // SQL-Anweisung erstellen 
$sql = "INSERT INTO ". "benutzerdaten (Nickname, Kennwort, Nachname, Vorname) ". "VALUES ('".$value["Nickname"]."', '".md5 ($value["Kennwort"])."', '". $value["Nachname"]."', '". $value["Vorname"]."')"; 

 
 mysql_query ($sql); 

 if (mysql_affected_rows ($connectionid) > 0) 
 { 
 echo "Benutzer erfolgreich angelegt.<br>\n"; 
 } 
 else 
 { 
 echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
 } 
 } 
 ?>
 
PHP:
 // Daten eintragen 
 for ($i=0;$i<count ($benutzer);$i++) 
 { 
 // SQL-Anweisung erstellen 
$sql = "
INSERT INTO 
  `benutzerdaten` 
  (Nickname, 
  Kennwort, 
  Nachname, 
  Vorname) 
VALUES 
  ('".$benutzer[$i]["Nickname"]."', 
   '".md5 ($benutzer[$i]["Kennwort"])."', 
   '". $benutzer[$i]["Nachname"]."', 
   '". $benutzer[$i]["Vorname"]."')
";
 
Hallo,

vielen Dank für die Hilfe, aber so ganz geht es immer noch nicht:

Ich bekomme jetzt folgende Fehlermeldung:

Parse error: parse error, unexpected T_STRING in /home/sites/site106/web/afs-dresden/test/anlegen.php on line 33


Zeile 33 ist die Zeile, die mit der geschweiften Klammer nach
"if (mysql_affected_rows ($connectionid) > 0) " beginngt.

Ich sehe nicht wieso es dann einen Fehler gibt.

viele grüße und danke!
peter



PHP:
<?php 


 $benutzer[0]["Nickname"] ="admin"; 
 $benutzer[0]["Kennwort"] = "admin"; 
 $benutzer[0]["Nachname"] = "Mustermann"; 
 $benutzer[0]["Vorname"] = "Max"; 

 $benutzer[1]["Nickname"] = "test"; 
 $benutzer[1]["Kennwort"] = "abc"; 
 $benutzer[1]["Nachname"] = "Kunze"; 
 $benutzer[1]["Vorname"] = "Martin"; 

 // Sie können an dieser Stelle beliebig viele Benutzer anlegen. 
 // Achten Sie dabei nur auf die Fortführung der Nummer. 

 // Aufbau der Datenbankverbindung 
 $connectionid= mysql_connect ("mysql01.manitu.net", "xxx", "xxxx"); 
 
 // Zuerst alle Datensätze löschen um keine Dopplungen zu bekommen. 
 mysql_query ("DELETE FROM benutzerdaten"); 

// Daten eintragen 
 for ($i=0;$i<count ($benutzer);$i++) 
 { 
 // SQL-Anweisung erstellen 
 $sql = "INSERT INTO `benutzerdaten` (Nickname, Kennwort, Nachname, Vorname) VALUES ('".$benutzer[$i]["Nickname"]."','".md5 ($benutzer[$i]["Kennwort"])."', '". $benutzer[$i]["Nachname"]."','". $benutzer[$i]["Vorname"]."') ";
 
 
 mysql_query ($sql); 

 if (mysql_affected_rows ($connectionid) > 0) 
 { 
 echo "Benutzer erfolgreich angelegt.<br>\n"; 
 } 
 else 
 { 
 echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
 } 
 } 
 ?>
 
Zuletzt bearbeitet:
Das es nicht gehen kann liegt ja eigentlich klar auf der Hand und das würde man selber auch schnell herausfinden wenn man sich den Code einfach mal genau an der Stelle anschaut.
PHP:
if (mysql_affected_rows ($connectionid) > 0)
Was soll das denn auch bringen? $connectionid ist ja wohl kein query sondern die Variable vom Datenbankaufbau. Aber man kann schauen ob sie true oder false ist, aber nicht mit mysql_affected_rows, welcher einem die Anzahl der betroffenen Datensäte(in deinem Fall willst du a schauen wieviel Datensätze in die DB eingefügt wurden) wiedergibt.

PHP:
$sql = "INSERT INTO `benutzerdaten` (Nickname, Kennwort, Nachname, Vorname) VALUES ('".$benutzer[$i]["Nickname"]."','".md5 ($benutzer[$i]["Kennwort"])."', '". $benutzer[$i]["Nachname"]."','". $benutzer[$i]["Vorname"]."') "; 

$result = mysql_query ($sql); 

if (mysql_affected_rows ($result) > 0) 
{ 
echo "Benutzer erfolgreich angelegt.<br>\n"; 
} 
else 
{ 
echo "Fehler beim Anlegen der Benutzer.<br>\n"; 
}
 
Zurück