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

Предложение 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». Во втором и третьем примерах объясняется, как выбирать данные, используя строковое значение «имя» и числовое значение «количество» соответственно.

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