php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.12.2005, 21:09  
Neuer Benutzer
 
Registriert seit: 03.12.2005
Beiträge: 10
ahertle
Standard Insert into macht Mucken

Hallo zusammen ,

eigenrtlich würd mir so'n Kaspersmilie heute viel eher stehen.

Also:
Hab'n PHP-Formular mit einigen Textfelder und Selectboxen und packe die ganzen Eingaben in eine MySQL-Datenbank (insert into mit
$_POST[xyz]) geht soweit ganz gut, ohne Fehler.

Es gibt jedoch eine Variable, die ich mir nicht über das Formular füllen lasse, sondern die ich mir über ne Abfrage aus einer anderen Tabelle hole.

Die Variable heißt $KundenNr, auch das geht problemlos.

Das einzige Problem: Wenn ich diese $KundenNr mit den anderen $_POST[xyz] in die Datenbank schreiben will, kommt dort nur die 0 an.

Und zwar egal ob so:

"INSERT INTO $table VALUES (0, '$KundenNr', '$_POST[Datum]', ...)"

oder so:

$_POST[KundenNr] = $KundenNr;
"INSERT INTO $table VALUES (0, '$_POST[KundenNr]', '$_POST[Datum]', ...)"

Zur Kontrolle ergeben jeweils:

echo $KundenNr;
echo $_POST[KundenNr];

die richtigen Werte.

Danke für Eure Hilfe,
der Kasper
ahertle ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.12.2005, 21:19  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wie sieht deine Tabellenstruktur aus? Lass dir die Abfrage mal anzeigen und poste dann die Ausgabe hier.
xabbuh ist offline   Mit Zitat antworten
Alt 04.12.2005, 00:54  
Neuer Benutzer
 
Registriert seit: 03.12.2005
Beiträge: 10
ahertle
Standard

Tabellenstruktur:
Â*FeldÂ* Typ Attribute Null Standard Extra
Â*IDÂ* int(11) NeinÂ* auto_incrementÂ*
Â*KundenNrÂ* int(11) NeinÂ* 0Â*
Â*DatumÂ* date NeinÂ* 0000-00-00Â*
Â*BeginnÂ* time NeinÂ* 00:00:00Â*
Â*EndeÂ* time NeinÂ* 00:00:00Â*
Â*PauseÂ* time NeinÂ* 00:00:00Â*
Â*PauschalÂ* decimal(10,2) JaÂ* 0.00Â*
Â*TaetigkeitÂ*varchar(255) JaÂ* NULLÂ*
Â*gestelltÂ* tinyint(4) JaÂ* 0Â*

Mit Abfrage anzeigen lassen, weiß ich nicht, was Du meinst.
Sie sieht jedenfalls so aus:

$sqld = "INSERT INTO $table VALUES (0, '$_POST[KundenNr]', '$_POST[Datum]', '$_POST[Beginn]', '$_POST[Ende]', '$_POST[Pause]', 0, '$_POST[Taetigkeit]', 0)";
$result4 = mysql_query($sqld);

Wie gesagt, funktioniert alles, bis auf die bescheuerte 0 in der Spalte KundenNr, obwohl $_POST[KundenNr] den gewünschten Wert enthält.
Danke für die Mühe!
ahertle ist offline   Mit Zitat antworten
Alt 04.12.2005, 10:43  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von ahertle
Mit Abfrage anzeigen lassen, weiß ich nicht, was Du meinst.
Einfach mal die Abfrage mit print $sqid; bzw. echo $sqid; anzeigen lassen.
xabbuh ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:13  
Neuer Benutzer
 
Registriert seit: 03.12.2005
Beiträge: 10
ahertle
Standard echo sqld

Da kommt folgendes raus:

INSERT INTO Taetigkeiten VALUES (0, '', '04.12.05', '12:00', '04.12.05', '22:00', '1:00', 0, 'täterä täterä täterä ', 0)

An Position 2 sollte das übergeben werden, ist aber leer '' .

Über echo wird mir aber angezeigt, daß die Variable in beiden Fällen einen Wert hat:

$_POST[KundenNr] = 4 bzw
$KundenNr = 4

Oh Mann, keine Ahnung und davon viel:

Grüße, Andi
ahertle ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:15  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wie willst du denn eine Zeichenkette wie 04.12.05 in einer Spalte vom Typ INTEGER speichern?
xabbuh ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:21  
Neuer Benutzer
 
Registriert seit: 03.12.2005
Beiträge: 10
ahertle
Standard

Sorry, hab die Tabelle gerade um eine Spalte vergrößert, Datum wird in ner Spalte vom Format date gespeichert, tatsächlich geht es aber um die KundenNr, die kommt als nomale Zahl daher, und soll als int(11) gespeichert werden.

Nur: Bei echo sqld ist die entsprechende Position ( Position 2) eben leer:

INSERT INTO Taetigkeiten VALUES (0, '', '04.12.05', '12:00', '04.12.05', '22:00', '1:00', 0, 'täterä täterä täterä ', 0)

Grüße
ahertle ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:25  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Dann zeig bitte nochmal deine aktuelle Tabellenstruktur und den PHP-Quellcode, mit dem du jetzt die Abfrage zusammenbaust.
xabbuh ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:48  
Neuer Benutzer
 
Registriert seit: 03.12.2005
Beiträge: 10
ahertle
Standard

Also die Tabellenstruktur sieht so aus:
Â*IDÂ* int(11) NeinÂ* auto_incrementÂ*
Â*KundenNrÂ*int(11) NeinÂ* 0Â*
Â*BegDatÂ* date NeinÂ* 0000-00-00Â*
Â*BegZtÂ* time NeinÂ* 00:00:00Â*
Â*EndDtÂ* date NeinÂ* 0000-00-00Â*
Â*EndZtÂ* time NeinÂ* 00:00:00Â*
Â*PauseÂ* time NeinÂ* 00:00:00Â*
Â*PauschalÂ* decimal(10,2) JaÂ* 0.00Â*
Â*TaetigkeitÂ*varchar(255) JaÂ* NULLÂ*
Â*gestelltÂ* tinyint(4) JaÂ* 0Â*

Die Abfrage:
$sqld = "INSERT INTO $table VALUES (0, '$_POST[KundenNr]', '$_POST[BegDat]', '$_POST[BegZt]', '$_POST[EndDat]', '$_POST[EndZt]', '$_POST[Pause]', 0, '$_POST[Taetigkeit]', 0)";

M.E. liegt das Problem darin, daß ich entweder
a) $_POST[KundenNr] von Hand zusammenbastle:
$_POST[KundenNr] = $KundenNr;

oder b) $KundenNr sofort in die Insert Into Anweisung stopfe, die sieht dann so aus:
$sqld = "INSERT INTO $table VALUES (0, '$KundenNr', '$_POST[BegDat]', '$_POST[BegZt]', '$_POST[EndDat]', '$_POST[EndZt]', '$_POST[Pause]', 0, '$_POST[Taetigkeit]', 0)";

Wie gesagt, in beiden Fällen sind die Variablen definiert:
$_POST[KundenNr] = 4
$KundenNr = 4

jedoch wird nichts an die Datenbank gesendet, echo $sqld ergibt jeweils:

INSERT INTO Taetigkeiten VALUES (0, '', '04.12.2005', '7:00', '04.12.2005', '16:00', '1:00', 0, 'Mist machen', 0)

Grüße
ahertle ist offline   Mit Zitat antworten
Alt 04.12.2005, 11:56  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von ahertle
M.E. liegt das Problem darin, daß ich entweder
a) $_POST[KundenNr] von Hand zusammenbastle:
$_POST[KundenNr] = $KundenNr;
Warum weist du $_POST['kundenNr'] einen Wert zu? Kommt der Wert nicht aus einem Formular?

Zitat:
Zitat von ahertle
Wie gesagt, in beiden Fällen sind die Variablen definiert:
Zumindest hat die Variable, die du an die Abfrage übergibst keinen Wert, was du ja auch sehen kannst, wenn du dir die Abfrage anzeigen lässt.
xabbuh ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Self Join / Nested Join ? Ich hab ne Blockade... iangillan Datenbanken 11 06.01.2008 21:37
Pathfinding Algorithmus optimieren? (Algorith. von Dijkstra) Martin13 PHP Tipps 2007 19 04.09.2007 19:20
Verständnisprobleme bei Utf8 > Character Set > Collate erna Datenbanken 4 20.03.2007 14:08
Differenz zwischen 2 Zahlen duderino PHP Tipps 2006 19 10.08.2006 22:12
PRoblem mit Cookie bei PHPbb-Board PHP Tipps 2007 8 12.12.2005 20:56
MySQL to Access - INSERT INTO zu langsam bendigo Datenbanken 0 23.11.2005 16:33
PHP-Fehlermeldung, weiss nicht mehr weiter PHP Tipps 2005-2 12 21.09.2005 12:56
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
dynamisches MENÜ aus db lesen.probleme mit SUBid !! PHP Tipps 2005 26 24.03.2005 18:53
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
dem verzweifeln nahe PHP Tipps 2004 26 24.10.2004 17:28
mehrere COUNT() mit verschiedenen GROUP BY -- geht das? tapferesschneiderlein Datenbanken 0 08.09.2004 14:54
Zeile einfach überspringen bei Unique-Verletzung tapferesschneiderlein Datenbanken 6 03.09.2004 14:29
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
access insert into leer daten, access 2007 abfrage insert into, access 2007 insert into values, \insert into table\ values variablen, mach kein insert into mysql php, mysql datum eingabe insert formular, was macht insert into, insert into echo, access insert into values, echo \insert into, mysql insert into leer, access 2007 insert into values datum, insert into table values($_post), php macht kein insert, access insert into, insert into php $_post null, macht mucken

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:30 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.