Thread MySQL: Wie funktioniert UPDATE und INSERT mit Perl
(20 answers)
Opened by Gast at 2008-01-13 18:07
Hallo Jungs,
wollte nochmal schnell danke sagen, für eure Hilfe, Danke. Jetzt habe ich aber noch mal ein paar fragen an Euch. Also, ich habe die Seiten die Ihr mir gegeben habt durch gearbeitet. Und bin zu folgenden Ergebnissen gekommen, welche auch echt super funktionieren. Jetzt wollte ich aber euch nochmal fragen, ob ich das so auch richtig mache? Oder gibts da irgendeine Sicherheit relevante Änderung durchzuführen? Code (perl): (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 26 27 28 29 30 31 32 33 34 35 36 37 my $dbh = &db_open("portal", "root", "pass"); my $sth = &db_abfrage($dbh, "SELECT ps_id, ps_mainside, ps_mainname FROM portalsides"); #Update my $sql = "UPDATE portalsides SET ps_mainside = '".$mainside."' WHERE ps_id = '".$id."'"; $dbh->do($sql) or die("Daten konnte nicht gespeichert werden. $DBI::errstr"); #Insert my $sql = qq|INSERT INTO portalsides (ps_mainside, ps_mainname) VALUES ('$mainside', '$mainname')|; $dbh->do($sql) or die("Daten konnte nicht gespeichert werden. $DBI::errstr"); #Delete my $sql = qq|DELETE FROM portalsides WHERE ps_id=$id|; $dbh->do($sql) or die("Session konnte nicht gespeichert werden. $DBI::errstr"); #Ausgabe Beispiel my $allref = $dbh->selectall_arrayref($sth, { Slice=>[] }); foreach my $psides (@$allref) { $html{'home'} .= $psides->[1]; } #Sub_R. sub db_open { my ($db, $user, $passwort) = @_; my $dsn = "DBI:mysql:database=$db"; my $dbh = DBI->connect($dsn, $user, $passwort); die ("Verbindung zur Datenbank konnte nicht hergestellt werden:\n$DBI::errstr") if (!defined($dbh) or $dbh eq ""); return $dbh; } sub db_abfrage { my $dbh = shift; my $sql = shift; my $sth = $dbh->prepare("$sql") or die($dbh->errstr); $sth->execute or die($sth->errstr); return $sth; } Perl ist voll gut! :) Liebe Grüße Sina |