MYSQL lösch "denkfehler" ?

Kategorien: PHP & MySQL
3 Antworten
FreaKzero
FreaKzero am Samstag, 16. Juli 2005 um 15:12
Folgendes Problem: bei der Variable $editsql wird der Befehl nicht ausgeführt (wert in bk_num 1 runterzählen) raufzählen per +1 funktioniert nur, -1 oder eben wie hier verwendet funktionierts auch nicht ... brauche bitte Hilfe ich komm net mehr weiter... ich bin mit sicher dasses nur ein dummer schreib oder denkfehler is... danke im voraus junx if ($del == "yes") { $deletesql = "delete from ???? where id = '$target'"; mysql_db_query($my_sql_db, $deletesql); $editsql = "UPDATE ??? SET bk_num=bk_num+(1*(-1)) WHERE id = '$kat'"; mysql_db_query($my_sql_db, $editsql); loopback("","Eintrag wurde gelöscht!",""); }

Kommentare

cruz
cruz am Samstag, 16. Juli 2005 um 23:23

also ich bin mir persönlich nich so ganz sicher ob das wirklich mit bk_num+(1*(-1)) geht ...

probier mal etwas umständliches aus, was halt dann leider einen query mehr benötigen würde, aber dennoch probier mal folgendes:

bevor du die tabelle updatest, hol dir den bk_num wert per select aus der db wo id=$kat is .. und dann tust du den wert halt eben mit -1 multiplizieren .. und danach setzt du eben bk_num auf diesen neuen errechneten wert den du in ne andere variable zwixchenspeichern könntest ...

wenn nun das funktioniert, weißt du, dass es an dem bk_num=bk_num+(1*(-1)) liegt ...

wenns an dem liegt müßtest du halt eben die von mir genannte unperformante methode nehmen, die einen query zusätzlich fordern würde ... andere lösung außer der deinige versuch oder meiner eben fällt mir nich wirklich ein :/

FreaKzero
FreaKzero am Sonntag, 17. Juli 2005 um 00:22

naja ich denk nach wie vor das is in irgendeiner weise ein PHP/mysql Kompatibilitätsproblem....

KOMISCHERWEISE ... funzt dieser Query per PHPmyADMIN ... (die formel) und es funzt auch die -1 ... aber in meinem Script net ?!? .. keine ahnung...

so her wärs einfachste den wert per query holen und dann minus eins zähln das is scho klar ^^ ABER das muss ja irgendwie mit nem MYSQL query funzn... gibts ja net vorallem weil +1 funzt im code... nur minus nicht (im Code funzts net ... im PHPmyADMIN schon) .... das is höchst mysteriös

aber auf jedenfall mal danke fürs reply :D

Markus René Einicher
Markus René Einicher am Montag, 18. Juli 2005 um 11:51

Ich würd denken, das PHP die Klammern einfach selbst ausführt. Probiers mal mit einfachen Anführungszeichen ' dabei ist PHP nicht so tolerant, wie beim doppelten, wo es auch Variabeln erkennt, womöglich ist das mit Klammern auch so, sodass PHP denkt du stellst ihm da eine Rechenaufgabe.