# SQL Abfrage: Abfrage nach ungleichen Variablen?  ne -.-



## Nilman (30. Mai 2005)

*SQL Abfrage: Abfrage nach ungleichen Variablen?*

Hi!
Ich habe folgendes Problem:
$rem = mysql_db_query("SELECT * FROM tabelle WHERE URL !=  '$link_sperre' AND anbieter != '$anbieter_sperre'");
Aber Irgendwie selectierts nur so, als würde ich ein normales "=" da stehen haben. Ich habe auch schon "><" und "(!=)" ausprobiert. 
Alle Variablen sind Texte wie z.B "www.tutorials.de" ... Was mache ich falsche?

Thx mfg Nilman


----------



## teppi (31. Mai 2005)

Probier mal : 

SELECT * FROM tabelle WHERE URL NOT LIKE '%$link_sperre%' AND anbieter NOT LIKE  '%$anbieter_sperre%'

Gruß Stefan


----------



## Nilman (31. Mai 2005)

Da das mit "NOT LIKE" auch nich ging, ich habe jetzt alles mal so verändert, dass alle ParamaterZahlen beinhalten. Außerdem habe ich mal noch ein paar Zeilen mit reingehauen.
In der Tabelle "user" ist die spalte "zahl" mit 1, 2 , 3 und 4 gefüllt
"$sollsnichtsein" gibt die zahlen 1 und 2 aus. Dadurch müssten ja eigentlich nur die zahlen 3 und 4 ausgegeben werden. Aber es zeigt trtotzdem 1 und 2 an ...

----------------------------------------------------------------------------------------------------------------------------------
for ($is=0; $is<$numt; $is++)
{
$sollsnichtsein = mysql_result($rest, $is, "sollsnichtsein");
$ausgabe = mysql_db_query("paidforum", "SELECT zahl FROM user WHERE zahl != '$sollsnichtsein'");
while($result = mysql_fetch_array($ausgabe)) { 
echo "'.$result[zahl].'<br><br>";
}}}
----------------------------------------------------------------------------------------------------------------------------------

Also funktioniert das Ungleichheitszeichen nicht, egal welche Variante ich nehme -.-
Was kann ich da jetzt noch machen?


----------



## Mik3e (31. Mai 2005)

Hi!

Mit diesem Vergleichsoperator funktionierts:
"a<>b"

Ich weiß nicht, ob der Tag != bei SQL überhaupt geht, oder ob der Server es nicht als
"wertX!" = "wertY"
interpretiert..

LG
Mike

P.S.: Den Operator "><" hab ich übrigens noch nie irgendwo gesehen....


----------



## andi_g69 (31. Mai 2005)

!= ist SQL Standard. Sollte der Server das nicht verstehen, würde ich mich ganz schnell auf die Suche nach nem standard-konformen DBMS machen....


----------



## Nilman (31. Mai 2005)

der server versteht != .... Ich habe oben im 2.Post von mir noch was verändert ....


----------



## Mik3e (31. Mai 2005)

Stimmt... Obwohl es mir bei SQL Statements noch nie untergekommen ist. Auch in der MySQL Doku wird für gewöhnlich <> verwendet...

Hier findest Du übrigens alle Vergleichsoperatoren:
http://dev.mysql.com/doc/mysql/en/comparison-operators.html


----------



## Mik3e (31. Mai 2005)

Ich verstehe nicht ganz, was Du jetzt möchtest...
Einen bitweisen vergleich oder ein LIKE?
Die liefern dir nämlich unterschiedliche Ergebnisse...

Möglicherweise hast Du mit den Anführungszeichen noch ein Problem, kann ich aber nicht genau sagen, da ich Deine Datentypen nicht kenne....

Führ einfach mal das SELECT Statement direkt am Server aus. Dann kannst Du wenigstens sicherstellen, dass der Select funktioniert (obwohl der 100% funktionieren sollte)...

SELECT zahl FROM user WHERE zahl !='1';


----------



## Nilman (31. Mai 2005)

ufffz Ich weiß wos lag -.- Durch die Schleifen ist was schiefgegangen ... I Ich hatte weit davor noch ne schleife, und da hat er alles das rausgesucht was drin ist -.- ich bin halt ein kleiner Dummie 
Trotzdem thx


----------

