php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.07.2008, 20:02  
Erfahrener Benutzer
 
Registriert seit: 12.09.2007
Beiträge: 105
aircrash befindet sich auf einem aufstrebenden Ast
Standard [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

Geändert von aircrash (07.07.2008 um 20:08 Uhr).
aircrash ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.07.2008, 20:23  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

"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.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 07.07.2008, 20:51  
Neuer Benutzer
 
Registriert seit: 07.07.2008
Beiträge: 1
elektrowolf befindet sich auf einem aufstrebenden Ast
Standard

Jop schreib einfach
Code:
SELECT * FROM messages WHERE `read`= 'no'
Besser ist übrigens:
Code:
SELECT COUNT(*) FROM messages WHERE `read`='no'
elektrowolf ist offline  
Alt 07.07.2008, 21:13  
Erfahrener Benutzer
 
Registriert seit: 12.09.2007
Beiträge: 105
aircrash befindet sich auf einem aufstrebenden Ast
Standard

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
aircrash ist offline  
Alt 08.07.2008, 11:23  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

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()); 
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
[Erledigt] Count mit Where und mehrfach OR Flix Datenbanken 5 21.06.2008 23:02
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
Mehrere Werte in WHERE abfrage McNet Datenbanken 6 23.04.2006 02:06
[Erledigt] select where TIME Datenbanken 7 17.02.2006 12:40
where in? bzw. feld auf inhalte überprüfen...? Datenbanken 3 12.02.2006 16:00
Mit Where überprüfen ob eine Spalte leer ist. solitaer Datenbanken 4 29.09.2005 18:34
[Erledigt] WHERE problem Datenbanken 5 12.06.2005 15:54
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Nur bestimmte Felder auslesen (forum_id) Datenbanken 10 22.10.2004 09:19
Problem mit dem WHERE Befehl PHP Tipps 2004 5 08.07.2004 00:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php read

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum