Avatar billede fragtrup Nybegynder
27. juni 2012 - 10:54 Der er 7 kommentarer

Test om varchar-felt er tom i PHP

Når jeg skal teste om der er tekst i et tekstfelt skriver jeg:
if (row[navn] == "") {
  echo "Den er tom";
}

Men jeg skal teste om en flet af typen varchar er tomt.
Hvordan skal den if-sætning så se ud?

På forhånd tak.
Avatar billede Panen Nybegynder
27. juni 2012 - 11:18 #1
Det er vel det samme?
Varchar er også tekst :)

Ellers kan du prøve at bruge empty();

if (empty(row[navn])) {
    echo "Den er tom";
}
Avatar billede fragtrup Nybegynder
27. juni 2012 - 11:31 #2
Jeg har prøvet dit foreslag Panen, uden held.
Så tror jeg vores database er mystisk. Måske står den eller anden mystisk karakter som jeg ikke kan se. For min test siger at der er noget i feltet men når jeg skriver det ud er der ikke noget i HTML-koden.
Avatar billede Panen Nybegynder
27. juni 2012 - 13:35 #3
Måske kan du kigge i dataene i databasen og se om der står en karakter som du ikke ser i din HTML?
Avatar billede Broxigar Praktikant
28. juni 2012 - 13:24 #4
Da jeg arbejdede med varchar felter, så fik jeg NULL ud, når jeg ikke havde nogen værdi i feltet. Prøv og check om $data == null
Avatar billede fragtrup Nybegynder
28. juni 2012 - 14:01 #5
Har har opgivet at finde de usynlige tegn. Jeg fandt ud af at de usynlige tegn fylder under 4 tegn. Så hvis feltet har under 4 karakterer antager jeg det er tomt.

Så jeg gjorde følgende:

if (strlen(row[navn]) < 4) {
  echo "Den er tom";
}
Avatar billede fragtrup Nybegynder
28. juni 2012 - 14:03 #6
Broxlgar: Problemet er at feltet ikke er tomt. Jeg har testet med NULL og der blev de "tomme" ikke fanget.
Avatar billede Temp_dk Nybegynder
28. juni 2012 - 19:00 #7
I din tabel er det muligt at dit varchar-felt er sat til NULL som standard derfor kan du bruge

if(is_null(row[navn))
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

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