Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie aus einer Tabelle aus, in der Felder den Bedingungen nicht entsprechen

Der Schlüssel ist die SQL-Abfrage, die Sie als Zeichenfolge einrichten:

$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";

Beachten Sie, dass es viele Möglichkeiten gibt, NOT anzugeben. Eine andere, die genauso gut funktioniert, ist:

$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";

Hier ist ein vollständiges Beispiel für die Verwendung:

$link = mysql_connect($dbHost,$dbUser,$dbPass) or die("Unable to connect to database");
mysql_select_db("$dbName") or die("Unable to select database $dbName");
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
$result=mysql_query($sqlquery);

while ($row = mysql_fetch_assoc($result) {
//do stuff
}

Sie können innerhalb der obigen While-Schleife tun, was Sie möchten. Greifen Sie auf jedes Feld der Tabelle als Element des $row array zu was bedeutet, dass $row['field1'] gibt Ihnen den Wert für field1 in der aktuellen Zeile und $row['field2'] gibt Ihnen den Wert für field2 .

Beachten Sie, dass wenn die Spalte(n) NULL haben könnten Werte, diese werden mit keiner der oben genannten Syntaxen gefunden. Sie müssen Klauseln hinzufügen, um NULL einzuschließen Werte:

$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";