Логические операторы 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" со следующими записями.
id | name | count |
5 | Shampoo | 10 |
2 | Milk | 20 |
3 | Books | 14 |
4 | Chocos | 45 |
6 | Eggs | 12 |
1 | Cooking-Gas | 40 |
Записи из таблицы продаж
Просмотр записей таблицы в базе данных 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. Мы предоставили примеры кодов для каждого оператора. Вы можете изменить код в соответствии с вашими требованиями и использовать его в своих проектах.