MySQL - Is Not Null

crsakawolf

Erfahrenes Mitglied
Hi Comm,

habe einen fehler irgendwo.
Habe auch schon in der Doku geschaut aber weis nicht wos hängt.

hier der SQL Code

Code:
SELECT * FROM mitglieder WHERE mitglieder_email IS NOT NULL ORDER BY mitglieder_name ASC

Die Spalte E-Mail von einem Bentutzer ist leer.
Der Benutzer wird jedoch dennoch angezeigt :/
 
Ist die Spalte leer oder NULL? Wenn sie leer ist, also '', dann:
SQL:
SELECT * FROM mitglieder WHERE mitglieder_email != '' ORDER BY mitglieder_name ASC
 
Die Frage ist ist das Feld leer oder hat das Feld den Wert NULL

Schreib doch:

PHP:
SELECT * FROM mitglieder WHERE mitglieder_email ORDER BY mitglieder_name ASC

Da dürften wirklich nur die Einträge rauskommen bei denen das Feld einen Wert hat.
 
Bei

Code:
"SELECT * FROM mitglieder WHERE mitglieder_email != '' mitglieder_name ASC"

Kommt FM "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /customers/crs-design.eu/crs-design.eu/httpd.www/doener2/modules/community/list_mitglieder.php on line 5"

und bei

Code:
SELECT * FROM mitglieder WHERE mitglieder_email ORDER BY mitglieder_name ASC
Hab ich leider Garkeine Ausgabe :(

Das Feld ist laut phpMyAdmin leer, also steht garnix drin
 
Ayayay Sry ...

!= '' ist richtig -.- hatte nen anderen Fehler drin. zuviel gelöscht.

Also kann ich das so schreiben. Traumhaft :)

Vielen dank.
 
Code:
SELECT * FROM mitglieder WHERE mitglieder_email <> '' mitglieder_name ASC

"!=" funktioniert nur bei PHP Verlgeichen. Bei SQL musst du "<>" nehmen.

UPS. Ich behaupte wieder Sachen die gar nicht stimmen. Sorry, selber was dazu gelernt!
 
!= ist PHP aber nicht wirklich SQL

Eine der 2 folgenden Kannst du nehmen
SQL:
mitglieder_email <> ''

NOT mitglieder_email = ''

Ist due Spalte Leer oder hats per zufall noch ein Leerzeichen drin?

SQL:
SELECT * 
FROM mitglieder 
WHERE 
	NOT ISNULL(mitglieder_email) 
	AND TRIM(mitglieder_email) <> ''
ORDER BY mitglieder_name ASC
Wenn du also auf Nummer sicher gehen willst, prüfst du so
 
Zuletzt bearbeitet von einem Moderator:
Nunja, möglich das MYSQL != erlaubt. Ist aber meines Wissens kein Standart-SQL. Interesant ist auch wie es in der Hilfe eingetragen ist. Es wird zwar aufgelistet, aber alle Beispiele sind mit <>

<>, !=
Ungleich:
SQL:
mysql> SELECT '.01' <> '0.01';
        -> 1
mysql> SELECT .01 <> '0.01';
        -> 0
mysql> SELECT 'zapp' <> 'zappp';
        -> 1
 

Neue Beiträge

Zurück