WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 29.03.2007, 14:21   #1
3of4
Elite
 
Registriert seit: 14.11.1999
Alter: 39
Beiträge: 1.429


Standard PHP: Hohe Zahlenwerte vergleichen ==> falsches Ergebnis

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>
____________________________________
Resistantium est futilius
3of4 ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:43 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag