Предложение PHP MySQL WHERE
Как выбирать и фильтровать данные из базы данных MySQL с помощью PHP в XAMPP
В этом руководстве мы обсудим, как выбирать записи из базы данных MySQL на основе определенных условий с помощью предложения WHERE и команды SELECT с использованием PHP в стеке XAMPP.
Предварительные условия
Убедитесь, что вы создали базу данных и таблицу в стеке XAMPP, как описано в следующем руководстве.
- Создание базы данных и таблицы MySQL с использованием PHP в XAMPP
В демонстрационных целях я создал таблицу с именем "sales" в базе данных MySQL под названием "my_company" со схемой и записями ниже.
Схема базы данных и записи
Фильтрация данных из таблицы MySQL с помощью предложения WHERE с использованием PHP
Предложение WHERE используется для извлечения только тех записей, которые соответствуют определенному условию. Предложение WHERE проверяет условие, принимая оператор, за которым следует значение.
Синтаксис предложения WHERE:
SELECT column1,column2,.,column n from table_name WHERE column_name operator value;
Где,
column_name
— столбец, к которому применяется условие.оператор
— используется для проверки условия.значение
— это строковое/числовое значение, сравниваемое со значениями каждого столбца, присутствующими в таблице.
Шаги
1. Укажите имя сервера (например, localhost), имя пользователя базы данных (например, root
), пароль пользователя root и имя базы данных (например, my_company). Здесь пароль моего пользователя root
пуст.
2. Установите соединение с помощью функции mysqli_connect()
. В качестве параметров он будет принимать имя сервера, имя пользователя и пароль.
Код:
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
3. Укажите SQL-запрос для выбора определенного столбца или записей всех столбцов из таблицы по условию. На этом этапе мы можем указать SQL-запрос для выбора столбцов из таблицы в переменную.
Например, я собираюсь использовать имя базы данных my_company и сохранить его в переменной с именем query. Имя таблицы — продажи и состоит из трех столбцов.
Код:
$query = "SELECT column1,…. from sales where column_name operator value";
4. Сохраните выбранные результаты в переменную с именем "final" с помощью функции mysqli_query()
. В качестве параметров он будет принимать «соединение» и «запрос».
Код:
mysqli_query($connection, $query);
5. Получите строки одну за другой из переменной «final», используя функцию mysqli_num_rows()
. После этого получите результаты, пройдя цикл while
, используя функцию mysqli_fetch_assoc()
. В качестве параметра он будет принимать переменную «final
».
Код:
if (mysqli_num_rows($final) > 0) {
//get the output of each row
while($i = mysqli_fetch_assoc($final)) {
echo $i["column1”],…………..;
}
} else {
echo "No results";
}
6. Наконец, закройте соединение с помощью функции mysqli_close()
.
Код:
mysqli_close($connection);
Теперь давайте напишем пример PHP-кода на основе описанных выше шагов.
PHP-код для выбора данных из базы данных MySQL с использованием предложения WHERE
Пример кода 1:
В этом примере мы выберем все столбцы из таблицы «продажи», где значение id больше 4отметьте> и отобразите результат на странице PHP.
Таким образом, наш оператор будет больше (">"), а значение будет 4, указав column_name
как идентификатор.
Создайте новый файл с именем select.php
в папке /htdocs
со следующим содержимым.
Внимание! Если вы используете Linux, папка htdocs будет находиться в каталоге /opt/lampp/
. Если вы используете Windows, htdocs обычно находится в папке C:\xampp\.
<?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 - "my_company"
$database_name = "my_company";
// Creating the connection by specifying the connection details
$connection = mysqli_connect($server_name, $user_name, $password, $database_name);
//sql query to select particular columns
//select all columns such that id is greater than 4
$query = "SELECT * from sales where id>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";
}
//close the connection
mysqli_close($connection);
?>
Откройте веб-браузер и укажите URL-адрес http://localhost/select.php. Вы можете видеть, что данные выбираются там, где id больше 4, и результат отображается в окне браузера.
Выберите данные из базы данных MySQL, используя предложение WHERE
Пример кода 2:
В этом примере мы выберем все столбцы из таблицы «продажи» с name как . >"Яйца" и отобразите результат на странице PHP.
Таким образом, наш оператор будет равен ("="), а значение — "Яйца", если указать column_name
как name.
<?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);
//sql query to select particular columns
//select all columns such that name equals to Eggs
$query = "SELECT * from sales where name ='Eggs'";
#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";
}
//close the connection
mysqli_close($connection);
?>
Откройте веб-браузер и укажите URL-адрес http://localhost/select.php. Вы можете видеть, что данные выбираются там, где name=«Eggs», и отображаются.
Выберите столбцы, содержащие название «Яйца»
Пример кода 3:
В этом примере мы выберем все столбцы из таблицы «Продажи» с счетчиком 45 и отобразить результат на странице PHP.
Таким образом, наш оператор будет равен ("="), а значение — 45, если указать имя_столбца как count.
<?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);
//sql query to select particular columns
//select all columns such that count is 45
$query = "SELECT * from sales where count =45";
#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";
}
//close the connection
mysqli_close($connection);
?>
Откройте веб-браузер и укажите URL-адрес http://localhost/select.php. Вы можете видеть, что данные выбраны там, где count=45, и отображается результирующий столбец.
Выберите столбцы, содержащие число 45
Заключение
В этом руководстве мы обсудили три различных способа выбора данных из базы данных MySQL на основе определенных условий с использованием PHP с предложением WHERE. В первом примере показано, как фильтровать данные, используя числовое значение «id». Во втором и третьем примерах объясняется, как выбирать данные, используя строковое значение «имя» и числовое значение «количество» соответственно.