Schrift
[thread]3722[/thread]

nur übergebene Parameter in db eintragen (Seite 2)



<< |< 1 2 >| >> 17 Einträge, 2 Seiten
renee
 2006-09-26 20:45
#34700 #34700
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nee, daran wird es nicht liegen. Du könntest aber so etwas probieren:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my @all_fields = qw(ort mv_id mol_id);
# hier alle Felder, die Integer sein sollen
my @integer_fields = qw(mol_id);

my @def_fields = ();
foreach (@all_fields) {
push @def_fields, $_ if defined $params{$_};
}

for(@integer_fields){
$params{$_} = undef if($params{$_} eq '');
}

if (@def_fields) {
my $sql = "INSERT INTO recherche (" . join(',', @def_fields) . ") VALUES (" . join(',', ('?') x scalar @def_fields) . ")";
my $sth = $dbh->prepare($sql) or die $dbh->errstr();
$sth->execute(@params{@def_fields}) or die $dbh->errstr();
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
wiel
 2006-09-26 21:16
#34701 #34701
User since
2006-08-08
11 Artikel
BenutzerIn
[default_avatar]
Jetzt werdet Ihr mich nie wieder los, mit anderen Worten: 'reschatch problema bolschaja'. Bleibt nur die Frage, ob das Bug oder Future ist, ich kann doch nicht der Erste gewesen sein, der darüber gestolpert ist. Sowohl cgi.pm als dbi.pm gibt es ja nun schön länger.

mfg w
sid burn
 2006-09-27 11:22
#34702 #34702
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Nepos hatte wohl den richtigen Riecher. Ich werde zu dem Zeitpunkt, wenn ich in die db schreiben will, wohl eine leere Stringvariable, aber keine undefinierte Variable haben.

Wenn du mit param() Werte aus einem Formular ausliest bekommst du NIE undefinierte Werte. Bei einem Formular werden wenn du auf "submit" gehst, immer alle Formular Variablen in GET, POST gepackt. Wenn nichts eingegeben wurde, bekommen die Variablen einen leeren String zugewiesen. undef bekommen die Variablen bei param() erst wenn Sie überhaupt nicht bei GET,POST angegeben werden.

Wenn das ganze nur mit undef Funktioniert, dann musst du das nachträglich wieder neu Setzen.

Code: (dl )
$name = undef  if  $name eq ''
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
nepos
 2006-09-27 11:24
#34703 #34703
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wie oben schon gesagt wird deine Variable dann eventuell einen leeren String statt undef enthalten. Pruef das doch mal ab.
Ich hatte bis jetzt keine Probleme in der Richtung.
wiel
 2006-09-27 11:42
#34704 #34704
User since
2006-08-08
11 Artikel
BenutzerIn
[default_avatar]
Moinsen,

wenns es im vorigen Posting von mir nicht deutlich wurde, habs begriffen und Dank der Hilfe von renee auch überbrückt. Vielen Dank noch mal für die Hinweise. Kann man denThread irgendwo schießen?

MfG wiel
renee
 2006-09-27 12:34
#34705 #34705
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@wiel: wir schließen normalerweise keine Threads, um eine nachfolgende Diskussion zu ermöglichen. Es kommt häufiger vor, dass jemand eine daran anschließende Frage hat.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2006-09-27 19:14
#34706 #34706
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=sid burn,27.09.2006, 09:22]Wenn du mit param() Werte aus einem Formular ausliest bekommst du NIE undefinierte Werte.[/quote]
doch, das kann passieren. wenn ein feld gar nicht abgeschickt wird, was
z.b. auch durch manuelles verändern des formulars passieren kann oder
gleich mit LWP.
deswegen würde ich mich darauf nicht verlassen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2006-09-25 22:27.