Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sélectionner dans une table où les champs ne correspondent pas aux conditions

La clé est la requête SQL, que vous configurerez sous forme de chaîne :

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

Notez qu'il existe de nombreuses façons de spécifier NOT. Un autre qui fonctionne tout aussi bien est :

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

Voici un exemple complet d'utilisation :

$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
}

Vous pouvez faire ce que vous voulez dans la boucle while ci-dessus. Accéder à chaque champ de la table en tant qu'élément du $row array ce qui signifie que $row['field1'] vous donnera la valeur de field1 sur la ligne courante, et $row['field2'] vous donnera la valeur de field2 .

Notez que si la ou les colonnes peuvent avoir NULL valeurs, celles-ci ne seront pas trouvées en utilisant l'une des syntaxes ci-dessus. Vous devrez ajouter des clauses pour inclure NULL valeurs :

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