![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 39
Beiträge: 1.429
|
![]() Mein Problem: PHP erzeugt mir bei zwei Zahlenvergleichen (mit zwei sehr hohen Zahlen) zu oft wahr!
Und zwar jedesmal wenn ich 400000000000000000000301 mit 400000000000000000000301 vergleichen will (identisch) liefert die Abfrage wahr, aber dann anschließend gleich auch für 400000000000000000000301 mit 400000000000000000000302! in einem anderen Fall (ich vergleich die ID 400000000000000000000300 mit allen anderen) liefert er nur bei 400000000000000000000300 wahr und sonst überall falsch. Sind die Nummernbereiche einfach zu groß (es gibt so viele PHP-Tutorials, dass man dabei keine brauchbaren technischen Beschreibungen findet) oder wieso tritt der Fehler gerade bei diese Kombination auf? Code:
400000000000000000000301 400000000000000000000300 <option value='400000000000000000000300' >Wagner Patrick</option> 400000000000000000000301 400000000000000000000301 1 <option value='400000000000000000000301' selected='selected'>XXXXXXXXXXXXX Caterina</option> 400000000000000000000301 400000000000000000000302 1 <option value='400000000000000000000302' selected='selected'>XXXXXXXXXXXXX Manuel</option> 400000000000000000000301 653517 <option value='652347' >XXXXXXXXXXXXX GERHARD</option> 400000000000000000000301 211532 <option value='223532' >XXXXXXXXXXXXX Manfred</option> Code:
<form action='lwpro.php' method='POST'> <select name='userid' size='20' onChange='submit();' <?=$disable_userid ?>> <?php $sql='SELECT ANMELDE_BENUTZER_ID,ANMELDE_BENUTZER_ZUNAME, ANMELDE_BENUTZER_VORNAME FROM anmelde_benutzer where rechte_uid_stufe(ANMELDE_BENUTZER_LOGIN,ANMELDE_BENUTZER_PASSWORT,'.$statuser.') > 29'; // RICHTIGE HÖHE FEHLT: 29 hätte anonymous, 30 normaler User! $stmt = OCIParse($connection, $sql); OCIExecute($stmt); while (OCIFetch($stmt)) { $selected=''; echo "\n".$userid . " " . OCIResult($stmt, 'ANMELDE_BENUTZER_ID') . " " . ($userid==OCIResult($stmt, 'ANMELDE_BENUTZER_ID')); if($userid==OCIResult($stmt, 'ANMELDE_BENUTZER_ID')){ $selected="selected='selected'"; } echo "\n<option value='" . OCIResult($stmt, 'ANMELDE_BENUTZER_ID') . "' " . $selected . ">" . OCIResult($stmt, 'ANMELDE_BENUTZER_ZUNAME') . " " . OCIResult($stmt, 'ANMELDE_BENUTZER_VORNAME') . "</option>"; } OCIFreeStatement($stmt); ?> </select> |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() Hier steht etwas dazu, evt. hilft dir das weiter?
http://www.hudzilla.org/phpbook/read.php/3_12_2 Aber wieso hast du überhaupt so riesige Zahlen? Haut die ganzen Nullen am besten einfach raus ![]() lg zAPPEL
____________________________________
„Das menschliche Gehirn ist eine großartige Sache. Es funktioniert vom Moment der Geburt an – bis zu dem Zeitpunkt, wo du aufstehst, um eine Rede zu halten.“ Mark Twain "Windle shook his head sadly. Four exclamation marks, the sure sign of an insane mind" Reaper Man, Terry Pratchett |
![]() |
![]() |
![]() |
#3 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 39
Beiträge: 1.429
|
![]() Das ist eine laufende Sequence (Oracle) mit der ich nichts zu tun habe, ich soll nur eine kompatible Erweiterung schreiben
|
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() Wie in dem Artikel auch angesprochen mit
http://at.php.net/manual/de/function.bccomp.php sollte es funktionieren.
____________________________________
„Das menschliche Gehirn ist eine großartige Sache. Es funktioniert vom Moment der Geburt an – bis zu dem Zeitpunkt, wo du aufstehst, um eine Rede zu halten.“ Mark Twain "Windle shook his head sadly. Four exclamation marks, the sure sign of an insane mind" Reaper Man, Terry Pratchett |
![]() |
![]() |
![]() |
#5 |
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
![]() oder als string: http://at.php.net/manual/de/function.strcmp.php
____________________________________
nobody is perfect |
![]() |
![]() |
![]() |
#6 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 39
Beiträge: 1.429
|
![]() Herzlichen Dank!
Auf die Stringlösung hätte ich selbst kommen können, habe ich ja im Projekt woanders schon einige Male verwendet :/ |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|