Я просто задаюсь вопросом, какие mysql управляют, чтобы я мог выполниться в php, который выберет все объекты из определенной таблицы, где columna не равен x, и columnb не равен x
Что-то как: select something from table where columna does not equal x and columnb does not equal x
Какие-либо идеи?
Ключ - это 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)";