Thread Speichern geht nicht: Datensatz ändern - speichern geht nicht (32 answers)
Opened by Ronaldl at 2003-09-20 10:04

format_c
 2003-09-20 14:20
#33612 #33612
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das Hash %v bekommt seine Werte von der Methode Vars des Objektes $cgi aus der Klasse CGI.

Ich versuche mal eine analogie mit param herzustellen:
Code: (dl )
1
2
3
4
use CGI;
my $cgi = CGI->new();
my %v = ();
$v{$_} = param($_) for $cgi->keywords();


so arbeitet in etwa (natürlich nur veranschaulicht) die Vars Methode.

Hier der Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sub  speichern
{
# Objekt erstellen falls noch nicht geschehen
my $cgi = CGI->new();
# Alle Parameter ins Hash %v
my %v = $cgi->Vars();
my $dbh;
my $sth;
my $ref;
my ($IDA) = @_;
print $IDA; # hier kommt noch der Richtige wert an.

$dbh = WebDB::connect();
$dbh->do ("REPLACE INTO shop1_artikel_1 (Reihenfolge, ArtNr, ArtGruppe, ArtNGruppe, ArtTitel, ArtText, ArtPreis, ArtMWSt, ArtRabatt, ArtEigenschaften, ArtBildklein, ArtBildgross)
VALUES ('$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}','$v{name}')") or die DBI::errstr;
# use DBI muss vorhanden sein damit errstr ausgegenben werden kann oder muss durch das
# Package WebDB implementiert sein.
$sth = $dbh->prepare ( "SELECT * FROM shop1_artikel_1 WHERE ArtID = $IDA ");
  $sth->execute ();
  $ref = $sth->fetchrow_hashref ();
  $sth->finish ();
  $dbh->disconnect ();

}
#--------------------------------------------------------------------------


Gruß Alex\n\n

<!--EDIT|format_c|1064053492-->

View full thread Speichern geht nicht: Datensatz ändern - speichern geht nicht