Frage von bishare, 78

Registration mit sql/phpmyadmin?

http://pastebin.com/McW65ykt

Ich will meine Datenbank über eine Webseite mit Datensätzen füllen, nur macht er es nicht. Er zeigt mir auch keine Fehlermeldungen, aber wenn ich meine Datenbank dann anschaue, wurde nichts hinzugefügt. Weiß jemand was ich da falsch gemacht habe?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von happyfish2, 60

Da ist so ziemlich alles falsch. Damit es funktioniert einfach mal die Werte beim Insert in einzelne Hochkommata setzen. Aber nur weil es dann funktioniert ist es noch lange nicht alles richtig.

Kommentar von bishare ,

Es funktioniert immer noch nicht DD:

Kommentar von happyfish2 ,

Den Query musst du natürlich auch abschicken.

Kommentar von bishare ,

Wie mache ich das?

Kommentar von happyfish2 ,

Einfach die Variable $sql an die Datenbank senden:

mysql_query( $sql );


Aber es bringt ja nix wenn wir dir hier jeden Schritt vorkauen. Am besten mal in Ruhe lesen und versuchen zu verstehen:

http://php.net/manual/de/book.mysql.php

bzw.

http://php.net/manual/de/book.mysqli.php

Kommentar von bishare ,

Das habe ich doch schon gemacht? o_O

"$result = mysql_query($sql); "

Kommentar von happyfish2 ,

Nein hast du nicht, du hast eine total überflüssige Abfrage hingeschickt, aber nicht dein INSERT-Statement.

Kommentar von bishare ,

letzte frage, dann lass ich dich in ruhe xd 

'INSERT INTO kunden(Nutzername,Passwort) VALUES($AL, $PW)'

Fehlt da was oder zählt es nicht als insert statement

Kommentar von happyfish2 ,

Wie gesagt, du sollst die Werte in Hochkommata setzen, nicht den ganzen String. Also so:

$sql = "INSERT INTO kunden(Nutzername,Passwort) VALUES('$AL', '$PW')";

Kommentar von bishare ,

Vielen Dank hat funktioniert :) Morgen kriegst du den Stern

Kommentar von Yogi851 ,

komisch...er hat immer noch nicht den stern bekommen und es ist schon Freitag ;)

Kommentar von bishare ,

hatte viel zu tun :P 

Antwort
von EightSix, 44

Wo führst du denn das Insert Statement aus? 

Kommentar von bishare ,

Bin noch ein Anfänger, was meinst du damit? 

Kommentar von EightSix ,

Du weist einer Variable den string "INSERT INTO ..." zu...und dann machst du nix mehr.

Kommentar von bishare ,

den variablen weise ich ja der datenbank (kunden) zu. Muss man da mehr schreiben?

Kommentar von bishare ,

ehm tabelle nicht datenbank

Kommentar von EightSix ,

Du setzt in PHP einen String fest und weist ihn einer PHP Variable zu. Da kann drinstehen was du willst. Wenn aber was passieren soll musst du das ganze auch irgendwie ausführen. Musst du ja vorher beim SELECT Statement auch.

Kommentar von Yogi851 ,

stimmt, dass mach irgendwie kein Sinn :D Du suchst einen Datensatz aus der Datenbank heraus, bei der der eingegebene Benutzername steht, obwohl es noch gar kein Benutzernamen in der Datenbank gibt. (er registriert sich ja erst)

Und danach möchtest du erst den Benutzernamen mit dem Passwort in die Datenbank schreiben.

Antwort
von Yogi851, 48

mysql_... ist veraltet -> nimm mysqli_...


Außerdem hast du ein Semikolon bei der Insert-Abfrage vergessen.
$result = mysqli_query ($dp, $sql) 

      or die("Error: " . mysqli_error($dp));

Dein Skript ist aber noch sehr unvollständig ^^ da musst du noch einiges ergänzen.

Kommentar von Yogi851 ,

Schreib unter den Verbindungsaufbau noch:

if (!$dp){

echo "Fehler bei der Verbindung: " . mysqli_connect_error();
exit();
}
Kommentar von bishare ,

Wenn ich es ausführe, gibt er am Ende nicht den echo befehl an, den du aufgeschrieben hast. Das mit dem Semikolon habe ich auch umgesetzt, aber bei mysqli zeigt er mir Fehlermeldungen an, deshalb habe ich es mal gelassen. Trm wird die Tabelle nicht befüllt

Keine passende Antwort gefunden?

Fragen Sie die Community