Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] WHERE read = 'no'

Einklappen

Neue Werbung 2019

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

  • [Erledigt] WHERE read = 'no'

    Hi Leute,

    Also ich komm gleich zur Sache, weils mich tierisch nervt ^^
    Ich habe eine Tabelle in meiner Datenbank. Dort sind jetzt zwei Datensätze gespeichert. Beide haben ein Feld namens 'read' mit jeweils dem Wer 'no'.

    Es soll sich um ein Nachrichten-System handeln und wenn mann die Nachricht geöffnet hat, wird aus dem 'no' halt ein 'yes' damit ich die gelesenen von den ungelesenen unterscheiden kann. Naja ich möchte aber
    auch rausfinden, wieviele ungelesene Nachrichten in meinem Eingang sind, sprich wieviele Datensätze mit read=no gespeichert sind.

    Nun der Code
    PHP-Code:
    <?
        connect();  //die funktion funktioniert =D
        $get = mysql_query("SELECT * FROM messages WHERE read = 'no'");
        $anz = mysql_num_rows($get);
              if ($anz != 0)
              {
              echo $anz;
              }
    ?>
    Ich bekomme dann die Fehlermeldung von wegen "mysql_num_rows() - suplied argument is not a valid mySQL resource ......"

    Wenn ich in meinem Query das WHERE read = 'no' weglass, dann gibt er auch schön brav 2 als $anz aus. Sind ja auch 2 Datensätze drinne. Aber
    ich möcht herausfinden, wieviele noch ungelesen sind


  • #2
    "read" ist in MySQl ein reserviertes Wort. Siehe auch: MySQL :: MySQL 5.0 Reference Manual :: 8.3 Reserved Words
    Dort findest du ganz unten im ersten Kommentar ("User Comments") auch einen Hinweis wie es trotzdem klappt (Hochkommata verwenden).

    Oder du benennst die Spalte um - in "seen" oder irgendeinen anderne Bezeichner der nicht reserviert ist.
    Create your own quiz show.

    Kommentar


    • #3
      Jop schreib einfach
      Code:
      SELECT * FROM messages WHERE `read`= 'no'
      Besser ist übrigens:
      Code:
      SELECT COUNT(*) FROM messages WHERE `read`='no'

      Kommentar


      • #4
        Super Leute. Vielen Dank für die schnellen und klaren Antworten. Ich hab's jetzt einfach mit `read` gelöst. Klappt endlich wunderbar. Das read ein reserviertes Wort ist haett ich eigentlich auch selbst rausfinden können aber naja....es leben die Internet-Foren. Nochmals Danke

        Kommentar


        • #5
          Wenn ein Fehler auftritt, ist der Rückgabewert von mysql_query() false.
          Das solltest Du immer abtesten. Die einfachste Methode (die auch ihre Fehler hat, aber immerhin besser als nichts tun ist), lautet
          PHP-Code:
          $get mysql_query("SELECT * FROM messages WHERE read = 'no'") or die(mysql_error()); 

          Kommentar

          Lädt...
          X