PHP: if (empty($var) ser ut til å fungere motsatt?!

En tråd i 'PHP, SQL og databaser' startet av Bjørnar, 28 Mai 2019.

  1. Bjørnar

    Bjørnar Gründer

    Innlegg:
    1.923
    Ja, jeg har nok klovnet til noe her, for jeg har følgende spørring:
    PHP:
    $con mysqli_connect("localhost""brukernavn""passord") or die(mysql_error());
      
    mysqli_set_charset($con'utf8');
      
    mysqli_select_db($con"databasenavn") or die(mysql_error());
     
      
    $username $LS->getUser('email');

      
    $userinfo mysqli_fetch_array("SELECT * FROM userdata WHERE email=.$username.");
    Dette fungerer akkurat som det skal, og henter ut det jeg ber om.

    Eksempel:
    PHP:
    <?php echo $userinfo['email']; ?><br>
    Denne henter helt greit ut epost-en til den aktuelle $username. All good så langt.

    Men, så skal jeg sjekke om noe er tomt:
    PHP:
    if (empty($userinfo['email'])) { $var 'den er tom'; } else $var 'den er ikke tom'
    En sjekk da sier, selv om databasen er tom. Sjekkes med
    PHP:
    <?php echo $var?>
    Det gir: "den er ikke tom"

    Hva er det jeg gjør feil her? Tenker jeg steingalt?
     
  2. Bjørnar

    Bjørnar Gründer

    Innlegg:
    1.923
    ehrm!

    Nevermind!

    Å bruke variabler på nytt er ingen god idè.
     
    Pong liker dette.
  3. Pong

    Pong Jeg selger sʇɥƃıluʍop :)

    Innlegg:
    3.459
    var_dump() er ofte nice to have.
     
    Bjørnar liker dette.
  4. Oscar Member

    Innlegg:
    153
    Forsøk å bruke var_dump() ja, ellers kan du jo heller også forsøke med isset() for å utelukke en veldig usannsynlig feil.
     
    Bjørnar liker dette.

Del denne siden