Schrift
[thread]12605[/thread]

Problem mit DELETE FROM



<< >> 4 Einträge, 1 Seite
sven2006
 2008-10-08 18:07
#115285 #115285
User since
2008-09-30
7 Artikel
BenutzerIn
[default_avatar]
Ich hab hier ein Problem das mir extrem Kopfschmerzen bereitet, geht um folgendes: Ich hab hier ein Script das von einem Firefoxplugin Daten empfängt und dementsprechend in der Datenbank in die entsprechende Tabelle schreibt.

Ist die Tabelle leer wird tadellos geschrieben. Aber... sobald an der bestimmten Stelle in der Tabelle was steht passiert gar nichts mehr.

Zeile 144 und 145 die eigendlich den Eintrag löschen soll hab ich mal testweise deaktiviert, dann wird "wenigstens doppelt" geschrieben.

Ich find den Fehler einfach nicht. Weiss einer einen Rat?


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
        my $sth;
        if ($runner >= 15) {
                $sth = $dbh->prepare("DELETE FROM u5_psm WHERE galaxy=? AND system=?;");
                $sth->execute($gal, $sys);
        
                foreach my $planet (sort {int $a <=> int $b} keys %sys) {
                        $sth = $dbh->prepare("INSERT INTO u5_psm SET last_update=NOW(), planet='$planet', "
                          . join(", ", map {$_."='".$sys{$planet}{$_}."'"} sort keys %{$sys{$planet}}) . ";");
                        $sth->execute();
                        print "INSERT INTO u5_psm SET planet='$planet', ". join(", ", map {$_."='".$sys{$planet}{$_}."'"} sort keys %{$sys{$planet}}) . ";";
                }       
        }
        return (scalar keys %sys > 0 ? 0 : 4);
}

sub translate {
        my $what = shift;
        if (defined($config{'TRANSLATE'}{$what})) {
                return $config{'TRANSLATE'}{$what};
        } else {
                return $what;
        }
}
nepos
 2008-10-08 18:24
#115302 #115302
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Fang mal Fehler bei der Datenbank ab bzw. sag uns doch mal, welche Fehlermeldungen kommen.
Ach ja und mach mal den ';' in der DELETE FROM-Zeile aus dem SQL-Statement weg. Den brauchts nicht.
sven2006
 2008-10-08 18:47
#115305 #115305
User since
2008-09-30
7 Artikel
BenutzerIn
[default_avatar]
Ich Blödmann :(

nach Zeile 4 muss noch
Code (perl): (dl )
print "DELETE FROM u5_psm WHERE galaxy=? AND system=?;";
eingebaut werden und nu gehts^^
nepos
 2008-10-08 19:44
#115309 #115309
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Was hat das print denn damit zu tun, ob es geht oder nicht? Auch ohne das print sollte dein Code das in der DB korrekt machen.
<< >> 4 Einträge, 1 Seite



View all threads created 2008-10-08 18:07.