![]() |
|< 1 2 3 >| | ![]() |
22 entries, 3 pages |
1 2 3 4 5 6
use DBI; my $dbh = DBI->connect($dsn); # hier eintragen, was du fuer connect-parameter hast unless ($dbh) { # fehlerabfrage print "Fehler: konnte nicht zur Datenbank verbinden: $DBI::err_str\n"; exit 0; }
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 26 27 28 29 30 31 32 33 34 35
# was passiert, wenn $user folgendermaszen aussieht: # a' OR id > 1 OR username = 'b # dann koennte der benutzer an mehr daten kommen als er eigentlich # sehen darf. deshalb: $user = $dbh->quote($user); my $anfrage = qq~SELECT passwort, userid FROM htm_user WHERE username = $user~; my $sth = &FireSql($dbh, $anfrage); if (my $ergebnis = $sth->fetchrow_hashref()) { ($pass2, $userid} = @{ $ergebnis }{'password', 'userid'}; } else { # fehlermeldung } $sth->finish(); # aufraeumen # ------------------------------------------ sub FireSql { my ($dbh, $statement) = @_; my $sth = $dbh->prepare($statement); unless ($sth) { print "Fehler im prepare: '$statement': ", $dbh->err_str, "\n"; exit 0; } unless ($sth->execute()) { print "Fehler im prepare: '$statement': ", $dbh->err_str, "\n"; exit 0; } return ($sth); } # FireSql
![]() |
|< 1 2 3 >| | ![]() |
22 entries, 3 pages |