Versio

unsigned gedraagt zich raar

Overzicht Reageren

Fromzon ngl

Fromzon ngl

14/09/2008 03:35:00
Quote Anchor link
Ik heb een probleem met volgende code:

$verkocht = 6;
mysql_query("UPDATE .... SET aantal = aantal - ".$verkocht." WHERE ...");

De "aantal" column is een UNSIGNED SMALLINT.
Als aantal gelijk is aan 10 en ik doe dit - 6 dan komt "aantal" te staan op 4, zoals het hoort.
Als aantal gelijk is aan 10 en verkocht is gelijk aan 11, dan wil ik (en verwachte ik) dat aantal gelijk zou worden aan 0. Eigenlijk is het dan -1 maar via de UNSIGNED wil ik dus "forceren" dat dit gewoon 0 wordt.

Dit lukt echter niet, want "aantal" verandert vreemd genoeg in het getal 65535.

Weet iemand hoe dit kan?
Hoe kan ik ervoor zorgen dat ik bij iets als 10 - 11 een 0 krijg in m'n database?


*Bovenstaand voorbeeld is fictief, het is enkel bedoeld om het probleem aan te duiden.
 
PHP hulp

PHP hulp

25/05/2012 16:56:50
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Leroy Boerefijn

Leroy Boerefijn

14/09/2008 10:42:00
Quote Anchor link
je kunt gewoon zoiets doen:

$newNumber = (10 - 11 >= 0) ? 10 - 11 : 0;

en dan $newNumber in de db zetten ;)
 
Frank -

Frank -

14/09/2008 11:18:00
Quote Anchor link
"unsigned gedraagt zich raar"

Gossie, je kiest voor MySQL en dan nóg durf je te beweren dat deze zich raar gedraagt? Standaard is MySQL van A tot Z volkomen onbetrouwbaar! Zelfs wanneer je de server goed hebt geconfigureerd, blijven er zaken inzitten waar je niet op kunt vertrouwen, MySQL is geen veilige DBMS.

Leesvoer

Sterkte!
 



Overzicht Reageren

Get Adobe Flash player