Datensätze erscheinen nicht in DB

jbo

Mitglied
Hi,
echo wird angezeigt, aber es wird kein Datensatz in der DB angelegt,
was könnte das sein?
Dank im voraus


<html>
<?
mysql_connect ("xxxxxxxxx", "xxxxxxxx2", "xxxxxxxxxxxxx");
mysql_select_db ("xxxxxxxxx") or die("Verbindung zur Datenbank fehlgeschlagen");
$sql=mysql_query("INSERT INTO ".$benutzer01." (id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land,
telefon, handy, fax, email) VALUES ('".$id."','".$pwd."','".$firma."','".$vname."','".$nname."','".$strasse."',
'".$hausnr."','".$plz."','".$ort."','".$telefon."','".$handy."','".$fax."','".$email."'");
echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";
?>
</html>
 
$benutzer01 muss der Name einer existierenden Tabelle sein.

lass dir hinter deinem Query mal optional den mysql_error() ausgeben, da steht dann drinne, warum der Query nicht ausgeführt wurde.
Code:
$sql=mysql_query("INSERT INTO ".$benutzer01." (id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land, 
telefon, handy, fax, email) VALUES ('".$id."','".$pwd."','".$firma."','".$vname."','".$nname."','".$strasse."',
'".$hausnr."','".$plz."','".$ort."','".$telefon."','".$handy."','".$fax."','".$email."'")or die(mysql_error());
 
Bin etwas unter Zeitdruck, aber stimmt, wozu 2 Threads.

es erscheint folgende Meldung:

Ihr Daten wurden abgeschickt! Vielen Dank!

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 '(id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land



Meine Tabelle íst folgendermaßen aufgebaut:

id varchar(11) Nein
pwd varchar(12) Nein
firma varchar(50) Ja NULL
vname varchar(50) Nein
nname varchar(50) Nein
strasse varchar(50) Nein
hausnr varchar(50) Nein
plz varchar(50) Nein
ort varchar(50) Nein
land varchar(50) Nein 0
telefon varchar(50) Nein
handy varchar(50) Ja NULL
fax varchar(50) Ja NULL
email varchar(50) Nein

Danke
 
wie sieht denn dein Code jetzt aus?! Durch die beiden Threads bin ich ein wenig verwirrt - es läuft scheinbar alles durcheinander.
Hast du meinen aktualisierten Code im anderen Thread mal ausprobiert (letzter Beitrag dort von mir)?
 
Sorry Jungs, bin noch nicht lange am php-basteln und hab mir gleich am Anfang etwas viel vorgenommen.

Mein code sieht jetzt so aus:
<html>
<?
mysql_connect ("host", "benutzername", "passwort");
mysql_select_db ("db-name") OR die("Verbindung zur Datenbank fehlgeschlagen");
if(!$sql=mysql_query("INSERT INTO ".tabelle." (id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land,
telefon, handy, fax, email) VALUES ('".$id."','".$pwd."','".$firma."','".$vname."','".$nname."','".$strasse."',
'".$hausnr."','".$plz."','".$ort."','".$land."','".$telefon."','".$handy."','".$fax."','".$email."'")) {
echo mysql_error();
} else {
echo "Ihr Daten wurden abgeschickt! Vielen Dank!<br><br>";
}
?>
</html>

Jetzt kommt folgende Meldung:

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 '(id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land,
 
Da kann ja auch nichts passieren, weil du schreibst
Code:
INSERT INTO ".tabelle." (id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land, 
telefon, handy, fax, email)
mache daraus mal
Code:
INSERT INTO tabellenname (id, pwd, firma, vname, nname, strasse, hausnr, plz, ort, land, 
telefon, handy, fax, email)

Oder du hast ne variable mit dem Tabellennamen, aber denn musst du vor das tabelle nen $ setzen.
 
Also mal was grundsätzliches zu deinem Query.
Wenn du direkt den Namen deiner Tabelle angeben willst, auf die du zugreifst, dann muss das Ganze in etwa so aussehen:
PHP:
//Deine Tabelle heißt z.B. kunden
"... INSERT INTO kunden (id, pwd, ..."

Speicherst du aber zunächst den Namen der Tabelle in einer Variable, dann muss es wie folgt lauten:
PHP:
$tabelle="kunden"; //Der Tabellenname wird erst in einer Variablen gespeichert
"... INSERT INTO ".$tabelle." (id, pwd, ..."

Schau mal ob es nach dieser Korrektur funktioniert. Sonst fällt mir im Moment nichts auf, was syntaktisch falsch sein sollte.
 
Zurück