[h] Bei einfachen Loginskript

04/18/2012 15:12 theo1990#1
Hallo Leute ich versuche mich seit einiger zeit mit php aber ich mache noch viele fehler. Zurzeit mach eich ein keleines Regestrierungsformular welches die daten einfach in meine db schicken soll. Leider bekomme ich immer diese Fehlermeldung wenn ich das fromular abschicke:

Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
die syntax sollte eingdlich richtig sein hier ist mein var_dump()

Code:
string(128) " INSERT INTO account SET userid = 'testn', vorname = 'asdf', nachname = 'asdf', passwort = 'asdfghjkl', email = 'adsf', "
so nun geb ich mal ncoh die source damit ihr mir besser helfen könnt.
Google hat mir bei diesem Problem nicht wirklich geholfen, da die codes anscheinend alle richtig sind!!!

PHP Code:
if ($_POST["kennwort"] == "")
{
    echo 
"<h1>Bitte geben Sie ein Passwort ein</h1>";
    echo 
"<br />";
    echo 
"<a href='regestrierung.html'>zurückr</a>";
}

//Connecting to MySql

    
define 'MYSQL_HOST''localhost' );
    
define 'MYSQL_BENUTZER''root' );
    
define 'MYSQL_KENNWORT''' );
    
define 'MYSQL_DATENBANK''account');
    
    
$db_verbinden = @mysql_connect(MYSQL_HOST,
                                   
MYSQL_BENUTZER,
                                   
MYSQL_KENNWORT);
    
    if ( ! 
$db_verbinden )
    {
        die (
"Keine Verbindung zur zeit möglich");
    }
    
            
$db_select mysql_select_db MYSQL_DATENBANK )
                or die( 
"Auswahl der Datenbank fehlgeschlagen");
        

            
    
$sql " INSERT INTO account ";
    
$sql .= " SET ";
    
$sql .= " userid = '"$_POST['userid'] ."', ";
    
$sql .= " vorname = '"$_POST['vorname'] ."', ";
    
$sql .= " nachname = '"$_POST['nachname'] ."', ";
    
$sql .= " passwort = '"$_POST['kennwort'] ."', ";
    
$sql .= " email = '"$_POST['email'] ."', ";
    

    
$db_erg mysql_query$sql );
    
    if ( ! 
$db_erg)
    {
        echo(
"Abfrage fehlgeschlagen" mysql_error());
    }        
    if (
mysql_num_rows ($db_erg) > 0
    {
        echo 
"Daten wurden erfolgreich Eingetragen";
    } 
So hoffe das reicht an infos

und danke schonmal im vorraus!
04/18/2012 15:21 Tyrar#2
INSERT INTO account (userid, vorname, nachname, passwort, email) VALUES ('testn', 'asdf', 'asdf', 'asdfghjkl', 'adsf')

:facepalm:
04/18/2012 15:26 theo1990#3
ok also das hat mir jetzt phpmyadmin als php code von deinem oben stehen sql befehl ausgespuck:
Quote:
"INSERT INTO user (userid, vorname, nachname, passwort, email) VALUES (\'testn\', \'asdf\', \'asdf\', \'asdfghjkl\', \'adsf\')";
soll ich jetzt dieses format benutzen?

Quote:
"INSERT INTO user (userid, vorname, nachname, passwort, email) VALUES (\'testn\', \'asdf\', \'asdf\', \'asdfghjkl\', \'adsf\')";
EDIT: ich habs selbst gelöst! danke trotzdem
04/18/2012 22:44 StridingGiant#4
Zur erklärung: Was du vorher hattest, war der Code um bestehende Datensätze zu ändern. Über den Befehl 'SET' könntest du also z.B. eine Passwort-Ändern-Funktion o.ä. basteln ;)