Daten mit PHP in eine SQL - Datenbank schreiben - Fehlermeldung

K

Kosta_91

Gast
Guten Tag,

ich Programmiere eine Website mit Registrierung. Ich verwenden XAMPP.
Meine Datenbank heißt bfwm.
Nun habe ich eine folgenden Code programmiert:

<?php
include 'dbconnect.php';

$vname = mysql_real_escape_string ($_POST['VN']);
$nname = mysql_real_escape_string ($_POST['NN']);
$str = mysql_real_escape_string ($_POST['Str']);
$hn = mysql_real_escape_string ($_POST['HN']);
$plz = mysql_real_escape_string ($_POST['PLZ']);
$ort = mysql_real_escape_string ($_POST['Ort']);
$mid = mysql_real_escape_string ($_POST['MID']);
$bn = mysql_real_escape_string ($_POST['BN']);
$pw = mysql_real_escape_string ($_POST['PW']);
$pww = mysql_real_escape_string ($_POST['PWW']);
$email = mysql_real_escape_string ($_POST['email']);

$eintrag = "INSERT INTO bfwm
(benutzername,email,hausnummer,mid,nachname,ort,passwort,plz,straße,vorname)
VALUES
('$bn', '$email', '$hn','$mid', '$nname', '$ort', md5('$pw'), '$plz', '$str', '$vname')";

$eintragen = mysql_query($eintrag);

if($eintragen){
echo "Eine E-Mail wurde an Ihre angegebene Adresse verschickt.
Bitte bestätigen Sie Ihr Konto mit dem angegebenen Aktivierungslink!";}
else{
echo "Es trat ein Fehler auf. Bitte wenden Sie sich an den Systemadministrator! ";
echo mysql_error($a);}
?>



und nun noch die dbconnect.php:


<?php
$dbname = "xy";
$dbhost = "localhost";

$a = mysql_connect ("localhost","bla","bla") or die(mysql_error);
$b = mysql_select_db("bfwm") or die (mysql_error);

?>

und folgende Fehlermeldung kommt im Browser wenn ich die Daten an die Datenbank schicken will:

Table 'bfwm.bfwm' doesn't exist


Könnt Ihr mir weiterhelfen?

Mit freundlichen Grüßen
 

Ic3HanDs

Commander
Dabei seit
Okt. 2007
Beiträge
2.615
Der sagt doch wo das Problem ist.

Du Verbindest dich mit der Datenbank und willst darauf arbeiten, aber du willst in die Tabelle "bfwm" schreiben, nur existiert diese Tabelle nicht.

Also hast du in der Datenbank auch schon die Tabelle bfwm angelegt oder ist die Datenbank leer?
 
K

Kosta_91

Gast
In meiner Datenbak habe ich folgende Tabellen angelegt:
Vorname, Benutzername, Ort etc..

Ich möchte wie ich auch im Code angegeben habe, das er die Daten in die Datenbank schreibt.
 

Ic3HanDs

Commander
Dabei seit
Okt. 2007
Beiträge
2.615
WTF!

Du hast das Prinzip Datenbank null verstanden..

Du musst eine Tabelle bfwm anlegen und dort muessen die Felder existieren. Am besten lernst du erstmal komplett Datenbanken bevor du damit anfaengst. Das alles werd ich hier sicher nicht erklaeren..
 

killray

Lt. Commander
Dabei seit
Jan. 2009
Beiträge
1.045
Hast du jetzt für alle Einträge einzelne Tabellen angelegt? Also eine Tabelle Vorname, Nachname etc? Oder hast du eine Tabelle bfwm mit den Zellen Vorname, Nachname etc? Weil da willst du rein schreiben.
 
K

Kosta_91

Gast
Ich habe eine datenbank mit dem Namen bfwm angelegt.
Und für jeden Punkt(z.B. Vorname) eine Tabelle erstellt.
 

Ic3HanDs

Commander
Dabei seit
Okt. 2007
Beiträge
2.615
Und genau da ist das Problem Kosta. Mit dem INSERT INTO [Tabellenname] gibst du eine Tabelle, KEINE Datenbank an. Die Datenbank ist schon durch die Verbindung zu jener definiert.

Du musst also um den Code zu behalten folgendes tun:
1. In der Datenbank bfwm die Tabelle bfwm anlegen.
2. In der Tabelle die Felder die du eintragen willst als Felder anlegen und dazu eine ID pro Eintrag als Primaerschluessel vergeben. (Datentypen immer beachten; in deinem Fall "text")
3. Es funktioniert.
 

Lawnmower

Fleet Admiral
Dabei seit
Mai 2011
Beiträge
11.774
Ich habe eine datenbank mit dem Namen bfwm angelegt.
Und für jeden Punkt(z.B. Vorname) eine Tabelle erstellt.
Du solltest Dich wirklich zuerst mit der Thematik auseinandersetzen bevor Du weitermachst - lies Dich ein und Dir wird ein Kronleuchter aufgehen warum es nicht geht.
 
K

Kosta_91

Gast
Also ich habe jetzt die Tabellen geändert, und siehe da es geht.
Vielen dank.
 

godofkills

Lt. Commander
Dabei seit
Dez. 2009
Beiträge
1.997
Frage ist nur, wie weit du damit kommst.
 

Daaron

Fleet Admiral
Dabei seit
Dez. 2011
Beiträge
13.487
Natürlich geht es, wenn die Tabelle nebst allen Spalten existiert. Das löst aber noch nicht das Kernproblem: du hast keinen blassen Dunst von Datenbanken.
Lies dir erst einmal ein paar Grundlagen zu Relationalen Datenbanksystemen durch. Achte dabei auf Schwerpunkte wie die Normalformen und referentielle Integrität. Ich hoffe mal, mit deinen nicht vorhandenen Kenntnissen schreibst du kein Produktiv-System, sonst seh ich hier schon 1001 Sicherheitslücke auf dem Plan.
 

godofkills

Lt. Commander
Dabei seit
Dez. 2009
Beiträge
1.997
Ich glaube, dass ist seine Abschlussarbeit für seine Ausbildung, wenn man sich so seine letzen Threads anschaut.
Also ich würde ein anderes Thema wählen.
 

Xetoxyc

Lieutenant
Dabei seit
Nov. 2010
Beiträge
872
XD aber wenn es seine abschlussarbeit ist hat er eindeutig das ziel der ausbildung verpasst...
man sollte wissen was datenbanken sind und sich zumidest mit dem ER modell auseinandersetzen...

hier kann ich nur den Kopfschütteln...
 
Top