Ankündigung

Einklappen
Keine Ankündigung bisher.

== FALSE; == 0; Problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • == FALSE; == 0; Problem

    Hallo. Ich habe ein problem mit folgender Abfrage:

    PHP-Code:
    $sql9 "select SID from DB where UIDA = $test";
    $res9 send_sql($sql9);
    $SID=mysql_result($res90SID);
          if (
    $SID == FALSE)
          {
    echo 
    "NIX DA";
          }
          else
          {
    echo 
    "ETWAS DA";

    send_sql ist eine vordefinierte funktion und liefert mir einfach das ergebniss der abfrage, so dass ich sie in eine
    variable packen kann ($res9, 0, SID) ...

    So. Dass Problem ist folgendes: $SID kann auch Null sein. Und Null beudeutet ja auch gleich FALSE.


    Also wenn $SID gleich 5 ist, dann kommt ETWAS DA. Wenn $SID gleich 349078087 ist kommt auch ETWAS DA
    Aber wenn $SID gleich 0 ist, dann kommt nat�rlich NIX DA.

    Wie kann ich das denn umgehen? Bin echt hilflos

  • #2
    Mit Null meinst du 0?

    PHP-Code:
    <?php
    if (=== false) {
      
    // hier kommst du nie rein
    } else if (== false) {
      
    // hier hingegeben schon
    }
    ?>
    Die Negation sieht so aus:
    !==

    Klu ist: === bzw. !== führen jeweils noch einen Typ-Vergleich durch und INTEGER (0) ist nunmal nicht BOOL (false)

    Kommentar


    • #3
      also dann so

      PHP-Code:
      <?php
      $sql9 
      "select SID from DB where UIDA = $test";
      $res9 send_sql($sql9);
      $isschon=mysql_result($res90SID);
      if (
      $isschon !== 0)
            {
      echo 
      "ETWAS DA";
            }

            else if (
      $isschon == FALSE)
            {
      echo 
      "NIX DA";
            }
            else
            {
      echo 
      "ETWAS DA";
      }
      ?>
      funktioniert nicht

      Kommentar


      • #4
        Mach mal
        var_dump(SID);
        var_dump($isschon);
        var_dump(0)

        vergleichen...

        Warum packst du die SID Abfrage nicht in den SELECT selbst rein? Und bist du sicher, dass du nicht session_id() statt SID meinst?

        Kommentar


        • #5
          Also SID steht für StickerIDentifikationsnummer. session_ID() mein ich nich.

          ich weiss leider nicht wie ich var_dump ausgeben soll ...

          aber es würde eh auch anders gehen. Mit COUNT

          <?php
          $sql9 = "select COUNT(*) from DB where SID = $SID AND UIDA = $test";
          $res9 = send_sql($sql9);
          ...
          ?>

          Aber ich weiss nicht wie man die Abfrage COUNT in eine Variable umwandelt so dass ich fragen kann if (COUNT == 1) ...wenn ich das wüsste würde sich die erste frage erübrigen. Noch dem Motto viele Wege führen nach Rom

          Kommentar


          • #6
            Du hast auch garkeine Lust das Problem zu lösen oder liegts an der Uhrzeit?
            Zumindest ist ausprobieren
            ich weiss leider nicht wie ich var_dump ausgeben soll ...
            und googeln
            http://tut.php-q.net/mysql.html
            nicht deine Stärke und helfen tue ich eigentlich nur gerne, wenn ich auch sehe, dass der Gegenüber lernfähig und engagiert ist.

            Kommentar


            • #7
              nein es liegt echt nicht an der uhzeit oder faulheit. ich weiss einfach nich wies geht ...

              ich googel mal danach

              Kommentar


              • #8
                PHP-Code:
                <?php
                $sql9 
                "select SID from DB where UIDA = $test";
                $res9 send_sql($sql9);
                if (
                $res9===false) {
                    echo 
                'Fehler: 'mysql_error();
                }
                else if (
                $row mysql_fetch_array($res9)) {
                    echo 
                '--> '$row['SID'];
                }
                else {
                    echo 
                'NIX DA';
                }
                ?>

                Kommentar


                • #9
                  Dann probiers doch einfach mal aus:

                  PHP-Code:
                  <?php
                  var_dump
                  (SID);
                  print 
                  '
                  '
                  ;
                  var_dump($isschon);
                  print 
                  '
                  '
                  ;
                  var_dump(0);
                  ?>
                  Und jetzt musst du eben schauen, ob dein Vergleich bei if ($isschon!==0)
                  Sinn macht bzw. ob du statt else if ($isschon == FALSE) nicht doch lieber
                  === als Vergleichs-Operator verwendest.

                  SELECT COUNT(*) FROM-Ergebnisse rufst du einfach über

                  PHP-Code:
                  <?php
                  $sql 
                  "SELECT COUNT(*) FROM ..";
                  $res mysql_query($sql) or die(mysql_error() . ": $sql");
                  $count mysql_result($res00);
                  ?>
                  ab.

                  Kommentar


                  • #10
                    Zitat von DDogg
                    $isschon=mysql_result($res9, 0, SID);
                    Dir ist der Unterschied zwischen Zeichenketten und Funktionen bekannt? SID gehört an dieser Stelle in Hochkommata oder Anführungszeichen.

                    Kommentar


                    • #11
                      SID ist eine von der Session Erweiterung definierte Konstante
                      http://de2.php.net/session
                      SID (string)

                      Constant containing either the session name and session ID in the form of "name=ID" or empty string if session ID was set in an appropriate session cookie.

                      Kommentar

                      Lädt...
                      X