0 rijen bijgewerkt. Warning: #1264 - probleem in phpmyadmin [opgelost]

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Eilander

Marco Eilander

10/09/2013 19:05:56
Quote Anchor link
Hallo,

ik zit met het volgende probleem.
Gebruikers krijgen elke nacht 5% rente op zijn/haar bankgeld, dat bereken ik als volgt :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$rente = $row['bankgeld'] / 100 * 5;


De rente wordt keurig bijgeschreven tot dat het niet meer verder kan. Hoe dat komt, weet ik niet.

Deze melding krijg ik in phpmyadmin, wanneer ik het handmatig probeer te verhogen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
0 rijen bijgewerkt. Warning: #1264 Out of range value for column 'bankgeld' at row 1


Bankgeld = int(255)

Stel dat de gebruiker 50.000 euro heeft krijgt hij/zij in begin €2,500 rente, maar uiteindelijk gaat de rente niet hoger dan : €107,374,182, terwijl dat wel moet kunnen.

Iemand enig idee?

Alvast bedankt.

Groeten,
Marco
Gewijzigd op 10/09/2013 22:17:43 door Marco Eilander
 
PHP hulp

PHP hulp

22/12/2024 18:52:53
 
Frank Nietbelangrijk

Frank Nietbelangrijk

10/09/2013 19:31:12
Quote Anchor link
dat int(255) slaat volgens mij nergens op. maak daar gewoon int van zonder lengte. dan kun je getallen opslaan tussen -2147483648 en 2147483647.

Heb je nooit geen negatieve waardes? gebruik dan een UNSIGNED int. dan kun je van 0 tm 4294967295

en anders is er nog de BIGINT.

http://dev.mysql.com/doc/refman/5.6/en/integer-types.html
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/09/2013 19:32:08
Quote Anchor link
Als het bankgeld boven de 2,1 miljard kan komen moet je daar een ander datatype aangeven of er een unsigned INT van maken (maar dat verdubbeld alleen de max waarde). Het heeft geen zin om INT(255) te doen, MySQL doet daar niks mee. Anders neem je een bigint
Gewijzigd op 10/09/2013 21:19:09 door Ger van Steenderen
 
- SanThe -

- SanThe -

10/09/2013 21:02:50
Quote Anchor link
Waarom twee berekeningen
$rente = $row['bankgeld'] / 100 * 5;

Als het ook in een keer kan
$rente = $row['bankgeld'] / 20
Gewijzigd op 10/09/2013 21:03:06 door - SanThe -
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/09/2013 21:30:40
Quote Anchor link
Of nog simpeler:
Code (sql)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE tabelletje SET bankgeld = bankgeld * 1.05
Gewijzigd op 10/09/2013 21:46:27 door Ger van Steenderen
 
- SanThe -

- SanThe -

10/09/2013 21:36:08
Quote Anchor link
Ger je hebt helemaal gelijk.
Maar moet die komma geen punt zijn?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

10/09/2013 21:46:10
Quote Anchor link
Oops! Helemaal in de war door al die miljarden ;-)
 
Marco Eilander

Marco Eilander

10/09/2013 22:18:25
Quote Anchor link
Bedankt voor jullie hulp. :)
Het is inmiddels opgelost!

Mvg.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.