- Установка соединения с базой данных в PHP и выполнение запросов.
- Как подключить PHP файлы к MySQL базе данных
- Комментарии ( 3 ):
- Подключение файлов
- Зачем разделять и подключать PHP-сценарии
- Способы подключения файлов — require и require_once
- Примеры подключения файлов
- Абсолютные и относительные пути
- Видимость переменных в подключаемых сценариях
Установка соединения с базой данных в PHP и выполнение запросов.
Чтобы MySQL-запрос был выполнен с помощью РНР-сценария необходимо:
- установить соединения с базой данных
- создать запрос в виде РНР-строки.
- отправить запрос на сервер баз данных для выполнения
- после того как выполнение всех запросов к базе данных завершено,
необходимо закрыть соединение
Итак, рассмотрим каждый из этапов подробнее.
Для подключения к MySQL из PHP нам надо указать настройки подключения: IP адрес сервера (домен), имя пользователя, пароль, название базы данных. Так как обычно подключения к базе данных используют множеством скриптов, то нередко настройки подключения выносятся в отдельный файл, благодаря чему легче их оперативно изменять.
Итак, создадим файл connection.php и добавим в него следующие строки:
$host=»localhost» // указать свой домен или IP
$username=»vasya» // указать имя пользователя MySQL
$password=»12345″ // указать свой пароль MySQL
$database=»library» // указать имя базы данных
?>
Теперь мы можем подключиться к базе данных и выполнить запрос:
require_once(«connection.php»);
$dbc=mysqli_connect($host, $username, $password, $database)
or die(‘Ошибка соединения с MySQL-сервером’);
mysqli_set_charset($dbc, «utf8″);
$query=»INSERT INTO AUTHORS (FirstName, SecondName) VALUES (‘».$mstr[1].»‘,’». $mstr[2].»‘);»;
$result=mysqli_query($dbc, $query) or die(«Запрос не может быть выполнен!»);
mysqli_close($dbc);
?>
В строку запроса можно было составить проще:
$query=»INSERT INTO AUTHORS (FirstName, SecondName) VALUES (‘$mstr[1]’,’ $mstr[2]’);»;
Первым делом подключаем скрипт с настройками с помощью инструкции require_once.
Для открытия подключения применяем функцию mysqli_connect() . Он принимает все конфигурационные настройки и подключается к серверу. В случае ошибки подключения срабатывает оператор die(), который выводит сообщение об ошибке и завершает работу скрипта. А в случае успешного подключения функция mysqli_connect() возвращает объект подключения в виде переменной $dbc.
Далее рекомендую установить кодировку UTF-8 для корректного отображения русского текста при записи в базу данных. Замечу, что таблицы в базе данных используют кодировку utf8-general_ci
Чтобы осуществить запрос к базе данных, нам надо использовать функцию mysqli_query() , которая принимает два параметра: объект подключения и строку запроса на языке SQL. Например, в рассмотренном выше скрипте приведен запрос на добавление строки в таблицу AUTHORS со значениями полей FirstName, SecondName, равными $mstr[1] и $mstr[2] соответственно (эти значения были вычислены заранее). Функция mysqli_query() возвращает объект $result, который содержит результат запроса. В случае неудачи данный объект содержит значение false.
После окончания работы подключение нужно закрыть. Для этого применяется функция mysqli_close() , которая в качестве параметра принимает объект подключения.
Как подключить PHP файлы к MySQL базе данных
На этом уроке мы научимся подключать PHP файлы к базе данных, делать проверку соединения и отключать PHP файлы от базы данных.
В качестве наглядного примера создадим два файла – connect_db.php и test.php. В первом файле у нас будет находиться подключение к базе данных. Нам этот файл необходим для того, чтобы мы подключились к базе данных, затем это подключение занесли в специальную переменную, через которую мы могли бы в дальнейшем обращаться к базе данных.
Создадим переменные с нашими доступами к MySQL db, которые нам обычно предоставляет хостинг-провайдер. Данные в кавычках заменяем на свои.
$servername = «your_host_name»;
$username = «your_username»;
$password = «your_db_password»;
$dbname= «your_db_name»;
Создадим переменную $connect, в которой мы пропишем подключение к нашей базе данных. Использовать мы будем процедурный способ — функцию mysqli_connect, в параметрах которой пропишем четыре аргумента, те самые переменные, которые мы создали в предыдущем шаге.
// Подключение к базе данных
$connect = mysqli_connect($servername, $username, $password, $dbname);
После установления соединения с MySQL базой данных нам необходимо проверить, а произошло ли подключение? Для этого мы используем простой алгоритм действий. Если соединение не удалось, то конструкция die прекращает соединение с базой данной, а функция mysqli_connect_error, выводит сообщение об ошибке.
// Проверка соединения
if (!$connect) die(«Connection failed: » . mysqli_connect_error());
>
$servername = «your_host_name»;
$username = «your_username»;
$password = «your_db_password»;
$dbname= «your_db_name»;
// Create connection
$connect = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset ( $conn , «utf8»);
// Check connection
if (!$connect) die(«Connection failed: » . mysqli_connect_error());
>
Итак PHP файл connect_db мы создали, но некуда его еще не подключили. Как правило для разработки даже самого простого сайта с хранением контента в базе данных, создается множество разных PHP файлов. Вот для них мы и создали наш connect_db.php с уже созданным подключением. Останется только его вставить в те PHP файлы, где потребуется обращение к базе данных.
Посмотрим на примере, как подключить connect_db к test.php файлу. Делаем мы это через конструкцию require_once, что значит – «только один раз».
Сохраним файл и обновим страницу, если нет ошибок с подключением, то ничего не произойдет, вы увидите пустую страницу. В противном случае скрипт выведет ошибку.
Друзья мои, если вы действительно хотите научиться создавать сайты, поверьте мне, что без знаний PHP вам никак не обойтись. И чем раньше вы начнете, тем интереснее вам будет двигаться дальше, в помощь вам будет мой обучающий видеокурс.
Создано 24.08.2017 12:12:55
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 3 ):
Кажется, это уже было. В теме MySQL и PHP.
верно, похожая статья была здесь https://myrusakov.ru/mysql-connect.html. Однако есть различия. В этой статье мы создаем отдельный файл с доступами к базе данных — connect_db.php. Это намного удобнее, если у нас много php файлов соединяющихся с базой данных. В каждом из них мы указываем лишь ссылку на connect_db.php, а не прописываем каждый раз доступы.
Ну, можно функцию сделать. Причем в функции ничего прописывать (даже название переменных) необязательно.
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.
Подключение файлов
Способность вызывать сценарий из отдельного файла по его имени называется в PHP подключением файлов. Подключают PHP-сценарии, любые текстовые файлы или HTML-страницы.
Зачем разделять и подключать PHP-сценарии
PHP-разработчики дробят исходный код проекта на отдельные сценарии, чтобы было проще работать. Если написать код в одном файле, сценарий станет необъятным, и ориентироваться будет невозможно.
Если вынести повторяющиеся блоки кода в отдельные сценарии, то появится возможность повторно использовать один код в разных файлах и подключать его только по требованию.
Например, пользовательские функции удобно объявлять в отдельном сценарии, а затем подключать там, где эти функции понадобились.
Способы подключения файлов — require и require_once
Для подключения файлов в PHP есть две языковые конструкции: require и require_once . Отличия между ними минимальны. Оба этих ключевых слова подключают файл с указанным именем и вызывают ошибку, если данный файл не существует.
👉 Особенность работы require_once — он позволяет подключать файл только один раз, даже если вызывать инструкцию несколько раз с одним именем файла.
Примеры подключения файлов
Рассмотрим, как подключить один сценарий внутри другого. Для этого воспользуемся инструкцией require . Предположим, у нас есть два сценария: index.php и sub.php .
В файле index.php находится код, который подключит сценарий sub.php :
Интересный факт: require можно использовать как ключевое слово, либо как функцию.
Результат будет одним и тем же:
Результат работы:
Привет, я содержимое из sub.php! А я - index.php!
Что произошло? Два сценария как бы склеились в один: выполнилось все содержимое sub.php и добавилось в начало сценария index.php .
О работе с функцией require подробно рассказано в этом задании.
Абсолютные и относительные пути
При подключении файла в качестве его адреса указывают абсолютный или относительный путь.
Абсолютный путь — это полный адрес файла от корня диска. Например, /var/www/web/site/inc/sub.php
Относительный путь содержит адрес относительно текущей рабочей директории. Если сценарий лежит в папке /var/www/web/site , то для подключения файла используется такой путь: inc/sub.php
Рекомендуется всегда указывать относительные пути, чтобы сайт продолжал работать, если его переместят в другую папку.
👉 В PHP есть полезные встроенные константы, их используют в пути к подключаемым файлам.
__DIR__ — полный путь к директории с текущим сценарием.
__FILE__ — полный путь к текущему сценарию.
Видимость переменных в подключаемых сценариях
При подключении файлы склеиваются в один, поэтому и все переменные в разных сценариях тоже получают общую область видимости.
В PHP нет системы модулей, как в других языках программирования (Python, Java, ECMAScript 12). Невозможно «импортировать» отдельные переменные или функции из подключаемого сценария.
Если подключить один сценарий дважды, то переменные и функции из него тоже объявятся повторно, а это вызовет ошибку. Чтобы такого не произошло, используйте require_once .
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.