Поиск по сайту:

Логические операторы PHP MySQL

Выбор данных из базы данных с помощью логических операторов MySQL в PHP в XAMPP

В этом руководстве объясняется, как выбрать данные из базы данных с помощью предложения WHERE и запроса SELECT с логическими операторами MySQL, такими как BETWEEN, IN, AND, OR и т. д., в PHP. Мы собираемся использовать предложение WHERE и запрос SELECT с операторами для фильтрации данных из таблицы базы данных MySQL.

Логические операторы MySQL

Логические операторы MySQL используются вместе с предложением WHERE в инструкции SELECT для фильтрации и извлечения определенных данных из таблицы базы данных. Некоторые из часто используемых логических операторов в MySQL приведены ниже:

ALL

TRUE, если все значения подзапроса соответствуют условию

AND

ИСТИНА, если все условия, разделенные оператором И, имеют значение ИСТИНА.

ANY

TRUE, если какое-либо из значений подзапроса соответствует условию

BETWEEN

TRUE, если операнд находится в диапазоне сравнений

EXISTS

TRUE, если подзапрос возвращает одну или несколько записей

IN

TRUE, если операнд равен одному из списка выражений

LIKE

TRUE, если операнд соответствует шаблону

NOT

Отображает запись, если условие(я) НЕ ВЕРНО.

OR

ИСТИНА, если любое из условий, разделенных оператором ИЛИ, имеет значение ИСТИНА.

SOME

TRUE, если какое-либо из значений подзапроса соответствует условию

Операторы MySQL (Источник - w3schools)

В этом руководстве мы обсудим использование только четырех операторов (т. е. BETWEEN, IN, AND, OR).

В демонстрационных целях я создал таблицу под названием "sales" в базе данных MySQL под названием "my_company" со следующими записями.

idnamecount
5Shampoo10
2Milk20
3Books14
4Chocos45
6Eggs12
1Cooking-Gas40

Записи из таблицы продаж

Просмотр записей таблицы в базе данных MySQL

Внимание! В XAMPP имена базы данных и таблиц нечувствительны к регистру. Он будет рассматривать верхний/нижний регистр только как строчные.

Если вы еще не создали базу данных и таблицу, обратитесь к следующему руководству.

  • Создание базы данных и таблицы MySQL с использованием PHP в XAMPP

Шаги по написанию PHP-кода

1. Укажите имя сервера, имя пользователя, пароль и имя базы данных в своем PHP-коде.

2. Создайте соединение с помощью функции mysqli_connect().

Код:

$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

3. Укажите SQL-запрос для выбора отдельных или всех записей столбцов с помощью операторов BETWEEN, IN AND и OR из таблицы по условию.

4. Сохраните выбранные результаты в переменную с именем "final" с помощью функции mysqli_query(). В качестве параметров он будет принимать соединение и запрос.

Код:

mysqli_query($connection, $query);

5. Получите строки одну за другой из переменной "final" с помощью функции mysqli_num_rows().

6. Закройте соединение с помощью функции mysqli_close().

Код:

mysqli_close($connection);

Давайте продолжим и посмотрим, как выбирать и фильтровать данные из таблицы базы данных MySQL, используя BETWEEN, IN, AND и OR. операторы.

PHP-код для выбора данных из таблицы базы данных MySQL с использованием оператора BETWEEN

Оператор BETWEEN используется для возврата строк, находящихся между двумя заданными значениями. Он примет первое значение, за которым следует оператор AND и второе значение.

Оператор BETWEEN вернет все значения, присутствующие в столбце, которые присутствуют в заданном диапазоне (первое значение - второе значение).

Синтаксис SQL-запроса:

SELECT column1,column2,.,column n from table_name WHERE column_name BETWEEN value1 AND value2

Пример кода:

В этом примере мы выберем значения,

  • из столбца id между 1 и 4,
  • из столбца count от 34 до 100.

Создайте обычный текстовый файл с именем select.php в папке /htdocs со следующим содержимым.

Внимание! Если вы используете Linux, папка htdocs будет находиться в каталоге /opt/lampp/. Если вы используете Windows, htdocs обычно находится в папке C:\xampp\.

<?php
//specify the server name
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//select all columns such that id was in the range of 1 and 4
$query = "SELECT * from sales where id  BETWEEN 1 AND 4";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//new line
echo "<br>";
echo "<br>";

//select all columns such that count was in the range of 34 and 100
$query1 = "SELECT * from sales where count  BETWEEN 34 AND 100";

#get the result
$final1 = mysqli_query($connection, $query1);

if (mysqli_num_rows($final1) > 0) {
 //get the output of each row
  while($j = mysqli_fetch_assoc($final1)) {
      //get all columns
    echo "id: " . $j["id"]. "  ----> name: " . $j["name"]."  ----> count: " . $j["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Откройте веб-браузер и перейдите по URL-адресу http://localhost/select.php. Вы увидите все значения из столбца id между 1 и 4 и из столбца count между 34 и 100.

Выбор данных из таблицы базы данных MySQL с помощью оператора BETWEEN

PHP-код для выбора данных из таблицы базы данных MySQL с использованием оператора IN

Оператор IN используется для получения значений, присутствующих в данном списке значений. Примет список значений, разделенных запятой в скобках(). Таким образом, он вернет все значения, присутствующие в списке-().

Синтаксис SQL-запроса:

SELECT column1,column2,.,column n from table_name WHERE column_name IN (value1,value2,…,value n)

Пример кода:

В этом примере мы получим значения,

  • из столбца id, где могут быть значения (1, 3, 6),
  • из столбца name, где могут быть значения («Chocos», «Eggs»).
<?php
//specify the server name
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//select all columns such that id was in 1,3,6
$query = "SELECT * from sales where id  IN (1,3,6)";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//new line
echo "<br>";
echo "<br>";

//select all columns such that name was Chocos,Eggs
$query1 = "SELECT * from sales where name  IN ('Chocos','Eggs')";

#get the result
$final1 = mysqli_query($connection, $query1);

if (mysqli_num_rows($final1) > 0) {
 //get the output of each row
  while($j = mysqli_fetch_assoc($final1)) {
      //get all columns
    echo "id: " . $j["id"]. "  ----> name: " . $j["name"]."  ----> count: " . $j["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Откройте веб-браузер и укажите URL-адрес http://localhost/select.php. Вы увидите значения из столбца id, где значения: 1, 3 и 6, а также из . имя, где значения: «Шоколад» и «Яйца».

Выбор данных из таблицы базы данных MySQL с помощью оператора IN

PHP-код для выбора данных из таблицы базы данных MySQL с использованием оператора AND

Оператор AND используется для получения значений, когда оба условия истинны. Он возьмет два условия и проверит их: если оба верны, строки будут возвращены, в противном случае результатов не будет.

Синтаксис SQL-запроса:

SELECT column1,column2,.,column n from table_name WHERE column_name operator value AND column_name operator value;

Пример кода:

В этом примере мы выберем все столбцы, в которых

  • id больше 2 И количество меньше 30,
  • имяChocos И id - 4.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//select all columns such that id greater than 2 and count less than 30
$query = "SELECT * from sales where id>2 AND count<30";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//new line
echo "<br>";
echo "<br>";

//select all columns such that name is Chocos and id is 4
$query1 = "SELECT * from sales where name='Chocos' AND id=4";

#get the result
$final1 = mysqli_query($connection, $query1);

if (mysqli_num_rows($final1) > 0) {
 //get the output of each row
  while($j = mysqli_fetch_assoc($final1)) {
      //get all columns
    echo "id: " . $j["id"]. "  ----> name: " . $j["name"]."  ----> count: " . $j["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Откройте веб-браузер и укажите URL-адрес http://localhost/select.php.

Выберите данные из таблицы базы данных MySQL с помощью оператора AND

Как видите, значения из столбцов, где id больше 2, число меньше 30 и name< — это Chocos, а id — это 4.

PHP-код для выбора данных из таблицы базы данных MySQL с использованием оператора OR

Оператор OR используется для получения значений, когда любое из условий истинно. Он возьмет два условия и проверит их, если какое-либо из них истинно, строки будут возвращены, в противном случае результатов не будет.

Синтаксис SQL-запроса:

SELECT column1,column2,.,column n from table_name WHERE column_name operator value OR column_name operator value;

Пример кода:

В этом примере мы выберем все столбцы, в которых

  • id больше 2 ИЛИ count меньше 30,
  • имя — Chocos ИЛИ идентификатор — 4.
<?php
//specify the server name and here it is localhost
$server_name = "localhost";

//specify the username - here it is root
$user_name = "root";

//specify the password - it is empty
$password = "";

//specify the database name
$database_name = "my_company";

// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);

//select all columns such that id greater than 2 or count less than 30
$query = "SELECT * from sales where id>2 OR count<30";

#get the result
$final = mysqli_query($connection, $query);

if (mysqli_num_rows($final) > 0) {
 //get the output of each row
  while($i = mysqli_fetch_assoc($final)) {
      //get all columns
    echo "id: " . $i["id"]. "  ----> name: " . $i["name"]."  ----> count: " . $i["count"]. "<br>";
  }
} else {
  echo "No results";
}

//new line
echo "<br>";
echo "<br>";

//select all columns such that name is Chocos or id is 4
$query1 = "SELECT * from sales where name='Chocos' OR id=4";

#get the result
$final1 = mysqli_query($connection, $query1);

if (mysqli_num_rows($final1) > 0) {
 //get the output of each row
  while($j = mysqli_fetch_assoc($final1)) {
      //get all columns
    echo "id: " . $j["id"]. "  ----> name: " . $j["name"]."  ----> count: " . $j["count"]. "<br>";
  }
} else {
  echo "No results";
}

//close the connection
mysqli_close($connection);
?>

Откройте веб-браузер и укажите URL-адрес http://localhost/select.php.

Выберите данные из таблицы базы данных MySQL с помощью оператора OR

Заключение

В этом руководстве мы обсудили, как фильтровать данные из таблицы базы данных MySQL с помощью логических операторов MySQL, таких как BETWEEN, IN, AND, OR и т. д., а также предложения WHERE и запроса SELECT в PHP. Мы предоставили примеры кодов для каждого оператора. Вы можете изменить код в соответствии с вашими требованиями и использовать его в своих проектах.

Статьи по данной тематике