Problem mit Datenbank+code
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
aufbau
befehl
beitrag
benutzer
daten
datensatz
dopplung
fehler
fehleranalyse
fortfhrung
inhalt
insert
kennwort
lsung
nummer
semikolon
stellen
vorname
zeile
-
ich habe ein probelm mit diesem code hier:
<?php $benutzer[0]["Nickname"] ="Maxell"; $benutzer[0]["Kennwort"] = "admin"; $benutzer[1]["Nickname"] = "Wurzelp"; $benutzer[1]["Kennwort"] = "admin2"; $benutzer[2]["Nickname"] = "R3n3gad3" $benutzer[2]["Kennwort"] = "admin3" // 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", "root", ""); if (!mysql_select_db ("LoginSystem", $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"; } } ?>
wenn ich das in der datenbank ausführen möchte kommt dieser fehler:
SQL-Befehl: & lt ; ? php$benutzer[0][ "Nickname"] = "Maxell"
weiß einer wieso? und hat jemand eine lösung für einen php-noob wie mich?? ich habe den code aus einem tutroial für einen login-bereich, da das mit java ja nicht so toll ist.
GREEZ
ATECH -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
davidleitl schrieb:
...
wenn ich das in der datenbank ausführen möchte kommt dieser fehler:
SQL-Befehl: <? php$benutzer[0][ 'Nickname'] = 'Maxell'
...
Das ist doch keine Fehlermeldung, da steht einfach nur eine Zeile aus dem Code oder täusche ich mich da.
Im Code habe ich aber einige Fehler gefunden und habe ihn mal korriert. Also bei mir funktioniert's.
<?php $benutzer[0]['Nickname'] ='Maxell'; $benutzer[0]['Kennwort'] = 'admin'; $benutzer[1]['Nickname'] = 'Wurzelp'; $benutzer[1]['Kennwort'] = 'admin2'; $benutzer[2]['Nickname'] = 'R3n3gad3'; $benutzer[2]['Kennwort'] = 'admin3'; // 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', 'root', ''); if (!mysql_select_db ('LoginSystem', $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>'; } else { echo 'Fehler beim Anlegen der Benutzer.<br>'; } } ?>
EDIT: Achtung bei Lima werden irgendwie alle Doppelhochkommas('') mit Einfachhochkommas(') ersetzt. Also beim kopieren des Codes aufpassen, dass noch was umgeändert werden muss.
Beitrag geändert: 5.11.2006 20:03:51 von hugo1990 -
bei deinem code kommt das hier:
Es scheint einen Fehler in Ihrer MySQL-Abfrage zu geben. Die MySQL-Fehlerausgabe, falls vorhanden, kann Ihnen auch bei der Fehleranalyse helfen.
ERROR: Unbekannte Interpunktion @ 5
STR: ?&
SQL: <?<?php
$benutzer[0]['Nickname'] ='Maxell'
SQL-Befehl:
<?<?php $benutzer[0]['Nickname'] ='Maxell' -
Wie wäre es wenn du es bei beginn und ende so machst;)
Falsch:
<?<?php
code
?>?>
Richtig:
<?php
code
?>
Beitrag geändert: 6.11.2006 13:54:56 von garlian -
dann kommt das hier:
Fehler
SQL-Befehl:
& lt ; ? php$benutzer[0][ "Nickname"] = "Maxell"
Beitrag geändert: 6.11.2006 14:16:15 von davidleitl -
Soweit ich weiß muss mysql_connect vor allen anderen inhalten der datei stehen^^
Also so
<?php
$verbindung = mysql_connect(....
-
und was kommt in die klamme rein? der name der datenbank, oder wie?
-
Wie sieht's denn aus einfach mal meinen Code zu nehmen der geht nämlich. Das am Anfang zweimal <? und am Ende zweimal ?> steht kommt von Lima, weil es als Code angezeigt wird und da automatisch <? am Anfang und ?> gesetzt wird.
Das einzige, was am Code falsch war ist meiner Meinung nach das
$benutzer[2]['Nickname'] = 'R3n3gad3' $benutzer[2]['Kennwort'] = 'admin3'
bei diesen beiden Zeilen das Semikolon am Ende fehlt. Bei meinem Code müsste jetzt nur noch das mit den Doppel- und Einfachhochkommas korrigiert werden, weil halt dieser bug auf lima-city existiert. -
Hast du schon die Version von hugo1990 probiert?
Ansonsten,
hast du entwa bei dir vergessen die datenbank daten einzutragen?
Also die daten um eine verbindung mit einer mysql datenbakn anzulegen?
Hast du in phpmyadmin überhaupt ne tabelle die benutzerdaten heißt???
Beitrag geändert: 6.11.2006 19:39:39 von garlian -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage