2016-03-29 21 views
1

Ich versuche, die NOT-Funktion zu verwenden Sql aus der Tabelle Projekte laufen .Aber es gibt Syntaxfehler und das gewünschte Ergebnis ist, alle Daten aus der Tabelle Projekte außer zu bekommen, wo Wert in coloumn_2 ist Bildfunktionieren nicht in Mysql

Coloumn_1 Coloumn_2 Coloumn_3 Type 
2335  Image  Value 1 Single 
2335  Name 2 Value 2 NULL 
2346  Name 3 Value 3 MULTI 
2234  Name 4 Value 4 Single 
2235  Name 5 Value 5 Single 

Dies ist die aktuelle Funktion

public function get_all_projects() 
{ 
    $params = array(':affiliate_id' => $_SESSION['jigowatt']['user_id']); 
    $sql = "SELECT * FROM Projects AND NOT (coloumn_2 = 'image')"; 
    $stmt = parent::query($sql, $params); 
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) : 
     $projects[] = $row; 
    endwhile; 
    return $projects; 
} 
+0

'UND NOT', vielleicht auch nur'! = ' – Ghost

Antwort

0

NOT verwenden, sollten in WHERE Klausel gesetzt werden.

Wenn NULL in coloumn_2 nicht erwünscht ist, zu verwenden:

SELECT * FROM Projects WHERE NOT (coloumn_2 = 'image') 

Wenn NULL in coloumn_2 ebenfalls erwünscht ist, zu verwenden:

SELECT * FROM Projects WHERE NOT (coloumn_2 <=> 'image') 
+0

Wie immer der Fall ist, sollte darauf geachtet werden bestimmen, ob oder ob nicht eine Null-Werte, wie in der Spalte Typ wünscht. – Drew

+0

thx. Auf 'NULL' umgestellt. –

+0

sehen, jetzt habe ich etwas von dir gelernt: p ... Ich hätte etwas eingegeben wie 'SELECT * FROM Projekte WHERE col2! =' Image 'oder col2 ist null; ' – Drew

1

gewünschtes Ergebnis ist, alle Daten aus der Tabelle Projekten zu erhalten außer wo Wert in column_2 ist Bild

Diese Abfrage gibt Ihnen möglicherweise das gewünschte Ergebnis.

$sql = "SELECT * FROM Projects WHERE coloumn_2 != 'image'";