Problem mit dem schreiben in MySql
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
datenbank
datum
eintrag
eintragen
email
fehler
fehlermeldung
funktioniert danke
gucken
klammern
manipulieren
problem
schaden
server
tabelle
tag
tun
weglassen
zufall
-
Ich habe ein tag/problem">Problem mit dem Hinzufügen von Daten in die DB.
<?php $verbindung = mysql_connect("Server", "Username","geheim") or die ("Server Fehler! Bitte komme später wieder!"); mysql_select_db("db_192076_1") or die ("Server Fehler bitte komme später wieder!"); $datum = time(); $mail = $_POST["e-mail"]; $name = $_POST["username"]; $passwort = md5($_POST["passwort1"]); $zufall .= md5(uniqid()); $eintrag = ("INSERT INTO user ('username', 'email', 'passwort', 'anmeldedatum', 'regcode') VALUES ('$name', '$mail', '$passwort', '$datum', '$zufall')"); $eintragen = mysql_query($eintrag); if($eintragen == true) { echo "Regestrierung erfolgreich!"; } else { echo "Es ist ein Fehler aufgetreten"; } ?>
So das ist der Code. Er schreibt einfach nichts in die Datenbank rein. Was muss ich tun damit es funktioniert?
Danke im Voraus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der SQL sollte richtig sein. Die Klammern gehören dahin und die Hochkommas können auch nicht schaden.
Also schreib mal ein
rein.echo mysql_error( $eintragen );
€dit: Sry aber bei der ersten Klammer. Da dürfen nicht diese Hochkommas ' verwendet werden, sondern nur `. Achso und seh erst jetzt welche Klammern du meinst. Bin heute zu verpennt. Sry
Beitrag zuletzt geändert: 3.8.2010 14:42:57 von reimann -
Jaa ich meinte die Klammern um den gesamten "INSERT INTO..." Block...
Und die einfachen Hochkommas sind dort nicht erlaubt meines Wissens deshalb schätze ich dass das der Fehler sein wird...
Vielleicht ist em4servertreff ja so nett und sagt uns Bescheid wenn er den Fehler gefunden hat und woran es letztendlich lag... -
Ja, die Hochkommata sind da nicht erlaubt. Bei Spalten-, Tabellen- und Datenbanknamen immer keine Anführungszeichen oder Backticks (`Name`). Bei Werten entweder Anführungszeichen oder Hochkommata und keine Backticks.
Die Klammern ("...") sind unproblematisch. Jedoch erfüllen sie auch keinen Zweck, ich würde sie weglassen.
@em4servertreff: Dein Code ist unsicher. Man kann mit ihm deine Datenbank manipulieren. Du solltest Usereingaben, die in eine Datenbank kommen immer mit mysql_real_escape_string escapen ;) -
So, ich hatte den tag über keine Zeit zu gucken ob jemand geantwortet hat aber das tue ich jetzt. Der Code an sich ist Sicher, da das was ich gepostet habe ist nur der Teil wo ich die Daten reinschreibe. Davor gibt es ca. 200 Zeilen Abfragen etc. die das ganze Sichern. Ich werde gleich das mit den ' wegnehmen und gucken was kommt.
So es gibt keine Fehlermeldung.
So sieht der Codeblock aus:
$datum = time(); $mail = $_POST["e-mail"]; $name = $_POST["username"]; $passwort = md5($_POST["passwort1"]); $zufall = md5(uniqid()); $eintrag = "INSERT INTO user (username, email, passwort, anmeldedatum, regcode) VALUES ('$name', '$mail', '$passwort', '$datum', '$zufall')"; $eintragen = mysql_query($eintrag); echo mysql_error( $eintragen );
Das Verbindungsaufbauscript habe ich weggelassen. Der ist unverändert oben.
Problem hat sich gelöst ich habe einen Fehler bei dem Index der Tabelle gemacht.
Beitrag zuletzt geändert: 4.8.2010 11:09:26 von em4servertreff -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage