Formular-Daten an MySQL senden

Formular-Daten an MySQL senden

am 21.08.2005 16:32:35 von Sascha Blum

Hallo Leute,

irgendwie mach ich da gerade was falsch ... - nur ich kann leider da nicht
den Fehler finden. :-(

Also ich habe eine Tabelle in MySQL angelegt. Nun würde ich gerne per
Formular einige Felder in dieser Tabelle füllen, wobei im ersten Schritt
nicht alle Felder gefüllt werden sollen.

Sprich meine MySQL Tabelle beinhaltet folgende Felder:

id
transaktionnr
titel
beschreibung
vname
strasssenr
ortplz
email
bemerkung

Wobei id ist Type int(11) auto_increment

Im ersten Schritt sollen per Formular die Felder titel und beschreibung mit
Inhalt befüllt werden ... - die anderen Felder sollen dann später mit einem
weiteren Zusatz-Formular sozusagen dann befüllt werden, sozusagen
Daten-Update ... - id wird ja normalerweise automatisch erzeugt und da
eingetragen ...

So nun habe ich im ersten Schritt folgendes Formular gebastelt:















Titel des Eintrages:
Eintrag:







Mein Weiterverarbeitungsscript eintrag-einfuegen.php sieht derzeit so aus:



$DatabasePointer=mysql_connect("host", "user", "pw");
mysql_select_db("datenbank", $DatabasePointer);

$SQL = "INSERT INTO transaktion (id, transaktionnr, titel, beschreibung,
vname, strasssenr, ortplz, email, bemerkung) VALUES ('', '', '"
$_REQUEST['titel']."', '".$_REQUEST['beschreibung']."', '', '', '', '',
'')";
mysql_query($SQL, $DatabasePointer);

if(mysql_affected_rows($DatabasePointer)==1)
{
?>
Vielen Dank für Ihren Eintrag!


}
else
{
?>
Beim Eintragen ist ein Fehler aufgetreten.


}
?>


Nach ausfüllen des Formualar und absenden bekomme ich immer:

Beim Eintragen ist ein Fehler aufgetreten.

ausgegeben.

Die Werte für host, user, pw, datenbank sind natürlich richtig im Script
eingetragen.

Kann mir jemand verraten was ich hier falsch mache?
Wäre super, wenn mir hier mal jemand kurz weiterhelfen könnte.
Besten Dank vorab.

Viele Grüße

Sascha

Re: Formular-Daten an MySQL senden

am 21.08.2005 16:39:32 von Stefan Rybacki

Sascha Blum wrote:
> Hallo Leute,
>
> irgendwie mach ich da gerade was falsch ... - nur ich kann leider da nicht
> den Fehler finden. :-(
>
> Also ich habe eine Tabelle in MySQL angelegt. Nun würde ich gerne per
> Formular einige Felder in dieser Tabelle füllen, wobei im ersten Schritt
> nicht alle Felder gefüllt werden sollen.
>
> Sprich meine MySQL Tabelle beinhaltet folgende Felder:
>
> id
> transaktionnr
> titel
> beschreibung
> vname
> strasssenr
> ortplz
> email
> bemerkung
>
> Wobei id ist Type int(11) auto_increment
>
> Im ersten Schritt sollen per Formular die Felder titel und beschreibung mit
> Inhalt befüllt werden ... - die anderen Felder sollen dann später mit einem
> weiteren Zusatz-Formular sozusagen dann befüllt werden, sozusagen
> Daten-Update ... - id wird ja normalerweise automatisch erzeugt und da
> eingetragen ...
>
> So nun habe ich im ersten Schritt folgendes Formular gebastelt:
>
>
>


>
>
>
>
>
>
>
>
>
>
>
>
>
Titel des Eintrages:
Eintrag:

>
>
>

>

>
>
> Mein Weiterverarbeitungsscript eintrag-einfuegen.php sieht derzeit so aus:
>
>
> >
> $DatabasePointer=mysql_connect("host", "user", "pw");
> mysql_select_db("datenbank", $DatabasePointer);
>
> $SQL = "INSERT INTO transaktion (id, transaktionnr, titel, beschreibung,
> vname, strasssenr, ortplz, email, bemerkung) VALUES ('', '', '"
> $_REQUEST['titel']."', '".$_REQUEST['beschreibung']."', '', '', '', '',
> '')";
> mysql_query($SQL, $DatabasePointer);

Lass id vollkommen weg, da AUTO_INCREMENT (oder setze es auf NULL). (Dein Fehler rührt
wohl daher, daß du an id einen leeren String übergibts und keine Zahl)

Bis denn dann
Stefan

>...
>
> Viele Grüße
>
> Sascha

Re: Formular-Daten an MySQL senden

am 21.08.2005 17:11:47 von Sascha Blum

Hallo Stefan,

Stefan Rybacki wrote:

>> >>
>> $DatabasePointer=mysql_connect("host", "user", "pw");
>> mysql_select_db("datenbank", $DatabasePointer);
>>
>> $SQL = "INSERT INTO transaktion (id, transaktionnr, titel, beschreibung,
>> vname, strasssenr, ortplz, email, bemerkung) VALUES ('', '', '"
>> $_REQUEST['titel']."', '".$_REQUEST['beschreibung']."', '', '', '', '',
>> '')";
>> mysql_query($SQL, $DatabasePointer);
>
> Lass id vollkommen weg, da AUTO_INCREMENT (oder setze es auf NULL). (Dein
> Fehler rührt wohl daher, daß du an id einen leeren String übergibts und
> keine Zahl)

bekomme da irgendwie immer noch die Fehlermeldung ...

.... habe das so geändert:

$SQL = "INSERT INTO transaktion (transaktionnr, titel, beschreibung,
vname, strasssenr, ortplz, email, bemerkung) VALUES ('', '"
$_REQUEST['titel']."', '".$_REQUEST['beschreibung']."', '', '', '', '',
'')";

Oder hab ich da nun was falsch verstanden?

Viele Grüße

Sascha

Re: Formular-Daten an MySQL senden

am 21.08.2005 17:30:36 von Marian Heddesheimer

On Sun, 21 Aug 2005 16:32:35 +0200, Sascha Blum wrote:


>mysql_query($SQL, $DatabasePointer);

hier am besten noch ein:

echo mysql_error();

eintragen, dann bekommst du auch Bescheid, welcher Fehler bei der
Datenbank aufgetreten ist.

Gruß Marian

--
Kostenlose Tipps und Tricks zu PHP und MySQL
http://www.heddesheimer.de/coaching/

Re: Formular-Daten an MySQL senden

am 21.08.2005 17:47:31 von Sascha Blum

Hallo Marian,

Marian Heddesheimer wrote:

>>mysql_query($SQL, $DatabasePointer);
>
> hier am besten noch ein:
>
> echo mysql_error();
>
> eintragen, dann bekommst du auch Bescheid, welcher Fehler bei der
> Datenbank aufgetreten ist.

dein Tipp war gold wert!

Problem ist nun behoben! War ein dummer Rechtschreibfehler:

hatte im script "strasssenr" stehen, hätte aber "strassenr" heißen müssen!

Vielen Dank an alle die mir weitergeholfen haben!

Gruß

Sascha