MySQL Wieso trägt er nix in die Tabelle ein?

Ben_der_Honk

Lieutenant
Registriert
Sep. 2005
Beiträge
616
Hallo Leute,

hier mal ein Auszug aus meine Quelltext:

$query = "INSTERT INTO 'user' ('lastname', 'name', 'birth', 'email', 'password') VALUES ('$lastname', '$name', '$birth', '$email', '$password')";
$dummy = mysql_query($query);
mysql_close($dz);

Also sinn ist es dass die Variablen in die MySQL Datenbank eingetragen werden, aber dass macht er nicht, aber es kommt auch kein Error.
Was ist daran falsch?

Vielen Dank im Voraus

MfG

Ben_der_Honk
 
Tabelle darf nicht in Hochkommata gestellt werden ?!

Und es muss INSERT heißen, nicht INSTERT ;)

Probier es mal so:

Code:
mysql_query("INSERT INTO user SET lastname = '$lastname', name = '$name', birth = '$birth', email = '$email', password = '$password'");
 
So müsste es passen

$query = "INSERT INTO user ('lastname', 'name', 'birth', 'email', 'password') VALUES ('".$lastname."', '".$name."', '".$birth."', '".$email."', '".$password."')";



@KonKorT
Die Syntax mit dem SET ist für den Update-Befehl, geht das beim Insert-Befehl auch?
 
Zuletzt bearbeitet:
Ich behaupte es muss so heißen:

Code:
$query = 'INSERT INTO "user" ("lastname", "name", "birth", "email", "password") VALUES ("'.$lastname.'", "'.$name.'", "'.$birth.'", "'.$email.'", "'.$password.'")';
mysql_query($query);

mfg

/edit
bei mir hats mal nur so funktioniert, seitdem mache ich es so.. ;)
 
Zuletzt bearbeitet:
man sollte die zweifachen außen machen aber das ist geschmackssache. und der tabellenname benötigt auch keine hochkommas.
 
ich will es echt nicht sagen, aber es geht immer noch nicht. Ich werde mal versuchen per PHPmyAdmin was einzutragen und die dann abzurufen, dass kommt irgendwie alles komisch vor. Wenn das nicht geht poste ich mal den ganzen Quelltext
 
gut die Abfrage geht auch nicht....

Der ganze Quelltext:

PHP:
include("inc/mysql.inc.php");

$lastname = trim($_POST['lastname']);
$name = trim($_POST['name']);
$birthd = trim($_POST['birthd']);
$birthm = trim($_POST['birthm']);
$birthy = trim($_POST['birthy']);

$email = trim($_POST['email1']);
$password = trim($_POST['passwort1']);
$regip = getenv('REMOTE_ADDR');

$query = 'INSERT INTO user ("lastname", "name", "birth", "email", "password") VALUES ("'.$lastname.'", "'.$name.'", "'.$birth.'", "'.$email.'", "'.$password.'")';
mysql_query($query);


echo "Hier nochmal ihre Daten im Überblick:<br><br>";
echo "Nachname:";
echo $lastname;
echo "<br>Vorname:";
echo $name;
echo "<br>Geburtstdatum:";
echo $birth;
echo "<br>Email:";
echo $email;
 
Hast Du meinen Beitrag überlesen? :(

So wird der Code funktionieren mit Ausnahme des Geburtstages, dass Du nicht mit $birth einfach in die Datenbank schreiben kannst, wenn Du $birthd, $birthm, $birthy angelegt hast. Hier musst Du uns noch verraten, welche Eigenschaft das Feld "birth" in der user-tabelle besitzt. Am Idealsten wäre hierbei wohl "date".

Code:
[COLOR=#000000][COLOR=#007700]include([/COLOR][COLOR=#DD0000]"inc/mysql.inc.php"[/COLOR][COLOR=#007700]); 

[/COLOR][COLOR=#0000BB]$lastname [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'lastname'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$name [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'name'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$birthd [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'birthd'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$birthm [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'birthm'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$birthy [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'birthy'[/COLOR][COLOR=#007700]]); 

[/COLOR][COLOR=#0000BB]$email [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'email1'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$password [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]trim[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'passwort1'[/COLOR][COLOR=#007700]]); 
[/COLOR][COLOR=#0000BB]$regip [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]getenv[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'REMOTE_ADDR'[/COLOR][COLOR=#007700]); 

[/COLOR][/COLOR][FONT=monospace]mysql_query("INSERT INTO user SET lastname = '$lastname', name = '$name', email = '$email', password = '$password'");
[/FONT][COLOR=#000000][COLOR=#007700]
echo [/COLOR][COLOR=#DD0000]"Hier nochmal Ihre Daten im Überblick:<br><br>"[/COLOR][COLOR=#007700]; 
echo [/COLOR][COLOR=#DD0000]"Nachname: ".$lastname[/COLOR][COLOR=#007700]."<br>"; [/COLOR][COLOR=#007700]
echo [/COLOR][COLOR=#DD0000]"Vorname: ".$name."<br>"[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#007700]
echo [/COLOR][COLOR=#DD0000]"Geburtstdatum: ".$birth."<br>"[/COLOR][COLOR=#007700];  [/COLOR][COLOR=#007700]
echo [/COLOR][COLOR=#DD0000]"Email: ".$email."<br>"[/COLOR][COLOR=#007700];[/COLOR][COLOR=#007700]
[/COLOR][/COLOR]
 
Hallo,

das funktioniert zwar, sollte aber auf keinen Fall so gemacht werden.

PHP:
$lastname = trim($_POST['lastname']); 
$name = trim($_POST['name']);

Benutzereingaben sollten man grundsätzlich nicht einfach vertrauen. Da sonst (wenn man sich ein wenig auskennt) jeder beinahe beliebige Abfragen auf deine Datenbank absetzen kann.
Ich empfehle dir, alle Variablen, die in die Datenbank eingefügt werden nur so zu verwenden:

PHP:
$lastname = mysql_real_escape_string($_POST['lastname'], $dbLink); 
$name = mysql_real_escape_string($_POST['name'], $dbLink);

Gruß Tobias
 
dann nochmal danke für den Link ;)

Ich habe mir gestern auch noch ein Buch gekauft, dass werde ich nächsten Fragen bevor ich euch frage ;)
 
Zurück
Oben