Forum Doku Wiki Blog

Forumsarchiv 2008, Februar
Update wird nicht angewendet

archivierte Beiträge lesen

  1. (DATENBANK) Update wird nicht angewendet von Borbarad, 01. 02. 2008, 14:22

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:22 Uhr von Borbarad veröffentlicht.

Ich habe ein unlogisches Problem. ;-)

$update=mysql_query("UPDATE rohstoffe SET res1=res1-'$res1', res2=res2-'$res2', res3=res3-'$res3', res4=res4-'$res4' WHERE userid='$userdaten[id]' AND planetenid='$planetenid'", $db2);

Ist der Quellcode.

Umgewandelt nimmt er:
UPDATE rohstoffe SET res1=res1-'159612', res2=res2-'79806', res3=res3-'0', res4=res4-'' WHERE userid='1' AND planetenid='15'

Wenn ich das Manuell ausführe macht er es Fehlerfrei.

mysql_error();
bringt keinen Fehler.

auch ein auch am $db2 kann es nicht liegen da er die MYSQL Befehle davon und danach sauber ausführt.

LG und Danke für Tips

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:27 Uhr von Ilja veröffentlicht.

<o,

> UPDATE rohstoffe SET res1=res1-'159612', res2=res2-'79806', res3=res3-'0', res4=res4-'' WHERE userid='1' AND planetenid='15'

ich würde die einfachen anführungszeichen bei den Zahlenwerten in verbindung mit einer subtraktion nicht benutzen und spätestens hierbei < res4=res4-'' > würde ich stutzig werden.

Ilja

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:34 Uhr von Borbarad veröffentlicht.

Ja ich weiß habe es auch ohne das Probiert leider das selbe Ergebnis :-(

> > UPDATE rohstoffe SET res1=res1-'159612', res2=res2-'79806', res3=res3-'0', res4=res4-'' WHERE userid='1' AND planetenid='15'
>
> ich würde die einfachen anführungszeichen bei den Zahlenwerten in verbindung mit einer subtraktion nicht benutzen und spätestens hierbei < res4=res4-'' > würde ich stutzig werden.

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:41 Uhr von EKKi veröffentlicht.

Mahlzeit,

> Ja ich weiß habe es auch ohne das Probiert leider das selbe Ergebnis :-(

Meinst Du nicht, dass Du ein PRINZIPIELLES Problem hast, wenn Du offenbar Variablen mit NUMERISCHEN Werten verarbeiten willst, aber in einer dieser Variablen anscheinend NULL oder ein leerer String drin steht?

Solltest Du dann nicht vielleicht bei der URSACHE des Problems - also bei der Behandlung/Validitätsprüfung der übergebenen Variablen - ansetzen?


MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:48 Uhr von Borbarad veröffentlicht.

Danke für den Tip, aber dieses ist in der Tat NICHT der Fall.

Auch wenn die Syntax:
UPDATE rohstoffe SET res1=res1-'159612', res2=res2-'79806', res3=res3-'0' WHERE userid='1' AND planetenid='15'

so aussieht läuft es nicht z.B. Das habe ich bereits alles getestet.

> Meinst Du nicht, dass Du ein PRINZIPIELLES Problem hast, wenn Du offenbar Variablen mit NUMERISCHEN Werten verarbeiten willst, aber in einer dieser Variablen anscheinend NULL oder ein leerer String drin steht?
>
> Solltest Du dann nicht vielleicht bei der URSACHE des Problems - also bei der Behandlung/Validitätsprüfung der übergebenen Variablen - ansetzen?
>
>
> MfG,
> EKKi
>

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 17:40 Uhr von Ilja veröffentlicht.

yo,

nicht so versuchen:

> UPDATE rohstoffe SET res1=res1-'159612', res2=res2-'79806', res3=res3-'0' WHERE userid='1' AND planetenid='15'

sondern so:

UPDATE rohstoffe SET res1=res1-159612, res2=res2-79806, res3=res3-0'WHERE userid=1 AND planetenid=15

und diesen befehl bitte direkt an die datenbank ohne php.

Ilja

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:29 Uhr von Norbert veröffentlicht.

Hallo Borbarad,

> Ich habe ein unlogisches Problem. ;-)
unlogisch, weil PHP und MySQL _nur_ logisch arbeiten ... ;-)

> auch ein auch am $db2 kann es nicht liegen da er die MYSQL Befehle davon und danach sauber ausführt.
hmm,
- setze den Errorlevel auf E_ALL
- lass das $db2 einfach mal weg


Gruss und Dank
Norbert

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 14:35 Uhr von Borbarad veröffentlicht.

Hallo
> Hallo Borbarad,
>
> - setze den Errorlevel auf E_ALL
> - lass das $db2 einfach mal weg
$db2 darf ich nicht weglasse,
da ich gleichzeitig mit 2 DBs verbunden bin.

Du meinst in der php.ini oder wo genau kann ich den error level umstellen`?

Update wird nicht angewendet

Der folgende Beitrag wurde am 01. 02. 2008, 17:14 Uhr von Norbert veröffentlicht.

Hallo Borbarad,

> > - lass das $db2 einfach mal weg
> $db2 darf ich nicht weglasse,
> da ich gleichzeitig mit 2 DBs verbunden bin.
hmm,
lass Dir doch mal $db1 und $db2 ausgeben!
Im Normalfall reicht es, wenn man direkt im Query die Datenbank anspricht:
z.B. ... FROM db1.tabX, db2.tabY ...
Eine seperate Connection ist nur notwendig, wenn es auch zwei DB-Server sind.

> Du meinst in der php.ini oder wo genau kann ich den error level umstellen?
z.B. am Scriptanfang:
ini_set('error_reporting', E_ALL);


Gruss und Dank
Norbert

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4