Avatar billede fatass Nybegynder
30. september 2004 - 22:52 Der er 10 kommentarer og
1 løsning

Forskel på null og 0 i resultat fra mysql_fetch_array

Hvordan kan jeg se, om et felt fra min database er null og ikke bare 0? jeg har prøvet med is_null($var), if($var) og if($var && $var != "0")

de viser desværre bare alle at feltet er null, også selvom det har værdien 0.

Feltet i databasen er int
Avatar billede skwat Praktikant
30. september 2004 - 22:53 #1
i din sql kan du teste
select * from t where f is null
eller select * from t where f is not null
Avatar billede dennismp Nybegynder
30. september 2004 - 22:55 #2
if(!set($row['felt']) ) {
  echo "felt er NULL";
}
else {
  echo "felt er ikke NULL";
}

så vidt jeg husker
Avatar billede fatass Nybegynder
30. september 2004 - 22:56 #3
Det er ikke i selve søgningen, men i php at jeg skal teste for det. De andre felter skal jeg nemlig bruge uanset om feltet er null eller ej
Avatar billede dennismp Nybegynder
30. september 2004 - 22:56 #4
hmm nu plejer jeg at bruge mysql_fetch_assoc - og jeg bliver i tvivl om det så også gælder ved array (tvivler)
Avatar billede dennismp Nybegynder
30. september 2004 - 22:58 #5
prøver igen:
if($var === null) virker måske?

ellers brug var_dump($var) så kan du se hvad type og indhold den har
Avatar billede fatass Nybegynder
30. september 2004 - 22:58 #6
Dennismp> jeg går ud fra, at set skulle være isset? men den er "sat" selvom værdien i databasen er null...
Avatar billede skwat Praktikant
30. september 2004 - 22:59 #7
Du kan måske bruge
$var === null til NULL til at test med.
Avatar billede skwat Praktikant
30. september 2004 - 23:00 #8
problemet er vel at php ikke tester typer
Avatar billede fatass Nybegynder
30. september 2004 - 23:06 #9
pinligt! var_dump viste, at den rent faktisk var null og at testen virkede. Havde bare ikke fået unset'et variablen i løkken. My bad...

det store spørgsmål er så - hvem skal have point? jeg tror at begge jeres svar er rigtige, så i kommer til at dele.

Tak for hjælpen
Avatar billede dennismp Nybegynder
30. september 2004 - 23:10 #10
fatass: isset(NULL) == false, ifølge dokumentationen. Hvor imod is_null() "virker"
Avatar billede fatass Nybegynder
30. september 2004 - 23:16 #11
Det er !is_null($var) jeg bruger nu. Det er giver mest overskuelighed af hvad der sker synes jeg
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester