Mailinglisten-Archive |
Das CGI Modul in Perl geht so: # Modul aufrufen use CGI; # neues Objekt anlegen $q = new CGI; # Parameter auslesen my $anbieter_id = $q->param(anbieter_id); # oder wenn Du alle Parameter in ein hash %Parameter packen willst foreach $c ($q->param) {$Parameter{$c}=$q->param($c)} # Im uebrigen scheinen mir die Anfuehrungszeichen nicht ganz koscher zu sein # Wenn Du Werte an sub qq übergibst , dann mußt Du die in Tuetteln setzen # Wenn Du aber in Perl Variablen in 'einfache Tuetteln' setzt, werden sie buchstaeblich aufgefaßt. # bei $asdf = 'lalala'; print '$asdf' ## kommt $asdf raus, und nicht "lalala" #Vielleicht geht es ja so: my $query = qq("INSERT INTO angebote (anbieter_id,art,standort,jahr,quadrat,immer,extras,preisangabe) VALUES (\"$anbieter_id\",\"$art\",\"$standort\",\"$jahr\",\"$quadrat\",\"$immer\",\ "$extras\",\"$preisangabe\")"); # Und wenn du qq() nicht brauchst dann so my $query = "INSERT INTO angebote (anbieter_id,art,standort,jahr,quadrat,immer,extras,preisangabe) VALUES (\"$anbieter_id\",\"$art\",\"$standort\",\"$jahr\",\"$quadrat\",\"$immer\",\ "$extras\",\"$preisangabe\")"; # mfg Thies Gloss Mathias schrieb: ÒAW: Perl/mySQL - INSERT INTO - Es klappt nicht...Ó. [2000/09/20 17:02] > Aloha, > > > ---------- > > Von: Portal Internet GmbH[SMTP:th.barth_(at)_portal.de] > > > > ich finde einfach den Fehler in dem folgenden Script nicht. Ich bekom > me > > wieder eine Server Fehler Meldung. > > > > use CGI qw(:standard); > > > Ich kenn ja das Modul CGI nur vom Namen her, weil mir das zu maechtig > ist um Uebergabevariablen zu extrahieren.... > > > my ($anbieter_id) = (param('anbieter_id')); > > > Aber ich denke, hier ist der Hund begraben. Das ist auf jeden Fall > kein gültiges Perl-Konstrukt. Ich VERMUTE, dass das Modul > CGI die Uebergabeparameter als Hash zurueckgibt. Dann muesste > das heissen : > > my $anbieter_id = $param{'anbieter_id'}; > (die erste Klammer nach my ist uebrigens ueberfluessig) > > Zum Test, ob alle uebertragene Variablen richtig ankommen wuerde ich > folgendes > > > my ($sth) = $dbh->prepare (qq{ > > INSERT INTO angebote > > (anbieter_id,art,standort,jahr,quadrat,immer,extras,preisangabe) > > VALUES > > ('$anbieter_id','$art','$standort','$jahr','$quadrat','$immer','$extr > as',' > > $p > > reisangabe')}); > > > mit folgendem ersetzen: > > my $query = qq( INSERT INTO angebote > (anbieter_id,art,standort,jahr,quadrat,immer,extras,preisangabe) > VALUES > ('$anbieter_id','$art','$standort','$jahr','$quadrat','$immer','$extras > ', > '$preisangabe'); > (Soweit mir duenkt, muss man nach qq eine runde Klammer setzen ...) > dann > print "QUERY: $query<br>\n"; > und ausfuehern > my $sth = $dbh->prepare($query); > $sth->execute; > > Wenn bei query schon nix gescheites rauskommt, fehlten die uebergebenen > Werte. > Wenn immer noch Server Error kommt, hast du noch ein paar Fehler in dem > Script, > die ich nicht auf anhieb gefunden habe ;) > > Gruesse, Mathias > > > --- > *** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql > ----------------------------------------- Thies Lindenthal www.schule-im-Netz.de Tel: 04846-69189 mobil: 0177-6112357 thies_(at)_schule-im-netz.de --- *** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive