Как сделать запрос из 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, покупка SSL сертификатов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: