Как сделать запрос из PHP к базе данных

Для соединения и взаимодействия с базой данных в PHP есть несколько функций. Обсудим наиболее часто используемые:
  • mysqli_connect - функция устанавливает соединение с сервером базы данных.
  • mysqli_query - отправляет SQL запрос к базе данных.
  • mysqli_close - закрывает соединение с базой данных.
Функция mysqli_connect принимает три параметра: адрес сервера (хост), имя пользователя, пароль пользователя. Доступы к базе данных можно узнать у хостинговой компании, у которой размещается сайт. Зачастую при создании хостинга на мэйл приходит инструкция, где указаны все доступы. Функция mysqli_connect возвращает данные, описывающие соединение, которые в дальнейшем должны передаваться функции mysqli_query.
Параметр "адрес сервера (хост)" содержит ip адрес сервера, на котором работает база данных. Если база данных работает на том же сервере, что и сайт, то вместо ip адреса можно написать слово localhost (или ip адрес 127.0.0.1, что по сути одно и то же).
Все манипуляции с базой происходят с помощью различных SQL запросов через функцию mysqli_query. С помощью SQL запросов можно создавать и удалять таблицы, делать выборки данных по фильтру с различными сортировками, добавлять и удалять строки. Функция mysqli_query принимает два параметра: первый - это данные, описывающие соединение (результаты работы функции mysqli_connect), второй - это SQL запрос в виде простой строки.

Рассмотрим комплексный пример, в котором будут использоваться все три функции. В этом примере будет устанавливаться соединение с базой, делаться SQL запрос, выводиться результат. Для экспериментов предположим, что в базе данных существует такая таблица с описанием характеристик пользователей сайта:
+---------------+
|     USERS     |
+---------------+
| NAME |  FOOD  |
+------+--------+
| Мышь | Сыр    |
+------+--------+
| Кот  | Молоко |
+------+--------+
В этой таблице с названием USERS (пользователи) есть две колонки: NAME (имя) и FOOD (еда).
<?php 
   $host = 'localhost'; // адрес сервера
   $db_name = 'database'; // имя базы данных
   $user = 'user'; // имя пользователя
   $password = 'password'; // пароль

   // создание подключения к базе   
      $connection = mysqli_connect($host, $user, $password, $db_name);

   // текст SQL запроса, который будет передан базе
      $query = 'SELECT * FROM `USERS`';

   // выполняем запрос к базе данных
      $result = mysqli_query($connection, $query);

   // выводим полученные данные
      while($row = $result->fetch_assoc()){
         echo  $row['NAME'];
         echo  ' - ';
         echo  $row['FOOD'];
         echo  '<br>';
      }

   // закрываем соединение с базой
      mysqli_close($connection);
?>
В результате выполнения этого кода, на экран будет выведено две строчки:
Мышь - Сыр
Кот - Молоко
Разберём пример построчно. В первых четырёх строчках задаются текстовые значения переменным: имя базы, имя пользователя, адрес базы, пароль пользователя. Эти переменные используются в функции подключения к базе данных mysqli_connect. Далее для наглядности в отдельную переменную $query записывается текст SQL запроса. С помощью функции mysqli_query запрос передаётся базе данных. В переменную $result передаются полученные из базы данных записи, и с помощью функции fetch_assoc выполняется перебор всех полученных из базы строк. В самом конце примера соединение с базой данных закрывается функцией mysqli_close.
Если у вас появились вопросы по поводу SQL запросов, то рекомендуем прочитать статьи из раздела "SQL".
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: