/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
validering ... / tilrettet
Fra : Frank


Dato : 04-09-08 12:10

Hej, Jeg har problemer med validering af nogle felter i min mysql
db. Det drejer sig om nogle tinyint felter!

(Jeg ved ikke om "tinyint" har noget med sagen at gøre.
Af historiske grunde felterne en længde på 4! Retter jeg til 1
har det ingen effekt. Har det nogen praktisk betydning hvis jeg
generelt retter den slags felter til længden 1).

Jeg har 2 felter A og B. De har værdierne 1 og 0, som helst
skulle svare TRUE og FALSE. Men det er ikke tilfældet!?

if ($A == TRUE) {
echo "TRUE: ", $A; // Linie displayes IKKE
}

if ($B == FALSE) {
echo "FALSE: ", $B; // Linie displayes
}
Jeg kunne godt tænke mig at begge linier displayes!

TRUE er lig 1 og FALSE er lig NULL (antager jeg).

Har det noget med nvl funktionen at gøre?

Tak...

Frank


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Dan Storm (04-09-2008)
Kommentar
Fra : Dan Storm


Dato : 04-09-08 12:59

Frank skrev:
> if ($A == TRUE) {
> echo "TRUE: ", $A; // Linie displayes IKKE
> }
>
> if ($B == FALSE) {
> echo "FALSE: ", $B; // Linie displayes
> }
> Jeg kunne godt tænke mig at begge linier displayes!

Prøv at sende os resultaterne af var_dump($A); og var_dump($B);

>
> TRUE er lig 1 og FALSE er lig NULL (antager jeg).
>
> Har det noget med nvl funktionen at gøre?

nvl?


>
> Tak...
>
> Frank
>
>


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Martin (04-09-2008)
Kommentar
Fra : Martin


Dato : 04-09-08 20:01

Dan Storm wrote:
> Frank skrev:
>> if ($A == TRUE) {
>> echo "TRUE: ", $A; // Linie displayes IKKE
>> }
>>
>> if ($B == FALSE) {
>> echo "FALSE: ", $B; // Linie displayes
>> }
>> Jeg kunne godt tænke mig at begge linier displayes!
>
> Prøv at sende os resultaterne af var_dump($A); og var_dump($B);
>
>>
>> TRUE er lig 1 og FALSE er lig NULL (antager jeg).

Så er du forkert på den...
NULL !== FALSE

if($B === NULL) { se mor den er B har nul værdi
// LIG MÆRKE til 3 er lig tegn!!!

Martin (04-09-2008)
Kommentar
Fra : Martin


Dato : 04-09-08 20:10

Martin wrote:
> Dan Storm wrote:
>> Frank skrev:
>>> if ($A == TRUE) {
>>> echo "TRUE: ", $A; // Linie displayes IKKE
>>> }
>>>
>>> if ($B == FALSE) {
>>> echo "FALSE: ", $B; // Linie displayes
>>> }
>>> Jeg kunne godt tænke mig at begge linier displayes!
>>
>> Prøv at sende os resultaterne af var_dump($A); og var_dump($B);
>>
>>>
>>> TRUE er lig 1 og FALSE er lig NULL (antager jeg).
>
> Så er du forkert på den...
> NULL !== FALSE
>
> if($B === NULL) { se mor den er B har nul værdi
> // LIG MÆRKE til 3 er lig tegn!!!

Dog er det nemmeste bare tjekke således..

if(!$b)

Så kan $b både være

(her en linje hvor $b slet ikke er sat)
(dog vil der komme en PHP notice hvis man undersøger en variabel som
ikke er sat, dog er notice ikke sat til at skulle vises som standard)
$b = '';
$b = false;
$b = null;

if($b)

Er så alt andet end de 4 ovenstående værdier

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste