Выберите из того, где поле не равняется Mysql Php

Я просто задаюсь вопросом, какие mysql управляют, чтобы я мог выполниться в php, который выберет все объекты из определенной таблицы, где columna не равен x, и columnb не равен x

Что-то как: select something from table where columna does not equal x and columnb does not equal x

Какие-либо идеи?

41
задан Jeffrey Blake 15 August 2013 в 17:43
поделиться

1 ответ

Ключ - это sql-запрос, которую вы зададите как строку:

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

Обратите внимание, что есть много способов указать NOT. Другой, который работает так же хорошо, это:

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

Вот полный пример того, как его использовать:

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

Вы можете делать все, что захотите, в приведенном выше цикле while. Получите доступ к каждому полю таблицы как к элементу массива $ row , что означает, что $ row ['field1'] предоставит вам значение для field1 на текущая строка, а $ row ['field2'] предоставит вам значение для field2 .

Обратите внимание, что если столбцы могут иметь NULL значения, они не будут найдены с использованием любого из приведенных выше синтаксисов. Вам нужно будет добавить предложения для включения значений NULL :

$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";
69
ответ дан 27 November 2019 в 00:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: