
Для того, чтобы получить максимальную отдачу от вашей базы данных MySQL, важно понять, как подключиться из пользовательской программы на PHP в базу данных MySQL.
В этом руководстве описывается следующие три метода вместе с соответствующей программой примера на PHP, которая объяснит, как подключиться с помощью PHP к базе данных MySQL.
- Подключение с помощью расширения Mysqli (рекомендуется)
- Подключение с помощью PDO (рекомендуется)
- Подключение с помощью традиционных функций устаревших mysql_ (устар)
Для этого необходимо установить пакет PHP-MySQL.
На основе дистрибутива RedHat включая CentOS, использовать yum для установки PHP-MySQL, как показано ниже.
yum install php-mysql
В зависимости от вашей системы, выше будем устанавливать или обновлять следующие зависимости:
- php
- php-cli
- php-common
- php-pdo
- php-pgsql
После того, как все установлено, страница phpinfo будет отображать MySQL модуль, как показано ниже:
Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать: MySQL — Руководство для начинающих.
Примечание: Все, что описано здесь также будет работать с MariaDB, как это работает на MySQL.
1. Подключение на PHP с использованием расширения Mysqli
MySQLi означает MySQL Improved.
Обратите внимание, что в большинстве дистрибутивов (например: CentOS), PHP-MySQLi уже является частью пакета PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-MySQLi. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение Mysqli на вашей системе.
Создайте следующий файл mysqli.php в DocumentRoot вApache:
<?php $conn = new mysqli("localhost", "root", "mySecretDBpass", "andreyex"); if ($conn->connect_error) { die("Ошибка: не удается подключиться: " . $conn->connect_error); } echo 'Подключение к базе данных.<br>'; $result = $conn->query("SELECT name FROM employee"); echo "Количество строк: $result->num_rows"; $result->close(); $conn->close(); ?>
В приведенном выше:
- MySQLi — Эта функция будет инициировать новое соединение, используя расширение Mysqli. Эта функция будет принимать четыре аргумента:
- Имя хоста, где база данных MySQL работает
- Имя пользователя для подключения MySQL
- Пароль для пользователя mysql
- База данных MySQL для подключения.
- Функция запроса — Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец имени из базы данных employee.
- Наконец, мы отображаем количество строк, выбранных с помощью переменной num_rows. Мы также закрываем соединение, как показаны выше.
При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.
Подключение к базе данных. Количество строк: 4
Примечание: Если вы пытаетесь подключиться к удаленной базе данных MySQL, то вы можете сделать это, чтобы избежать ошибки запрета подключения к хосту: Как разрешить клиенту MySQL подключиться к удаленному серверу MySQL.
2. Подключение при помощи PHP к MySQL с расширением PDO
PDO означает PHP Data Objects.
PDO_MYSQL реализует интерфейс PDO, предоставляемый РНР для подключения программы к базе данных MySQL.
В большинстве дистрибутивов Linux (например, CentOS и RedHat), PHP-PDO пакет уже входит в пакет PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-PDO. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение PDO_MYSQL PHP в вашей системе.
Создайте следующий файл MySQL-pdo.php в вашим Apache DocumentRoot:
<?php try { $conn = new PDO("mysql:host=localhost;dbname=andreyex", "root", "mySecretDBpass"); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Подключение к базе данных.<br>'; $sql = 'SELECT name FROM employee'; print "Имя Сотрудника:<br>"; foreach ($conn->query($sql) as $row) { print $row['name'] . "<br>"; } $conn = null; } catch(PDOException $err) { echo "Ошибка: не удается подключиться: " . $err->getMessage(); } ?>
В приведенном выше:
- новый PDO — Создаст новый объект PDO, который будет принимать следующие три аргумента:
- Строка подключения MySQL: будет в формате “mysql:host=$hostname;dbname=$dbname”. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.
- Имя пользователя для подключения к MySQL.
- Пароль для пользователя mysql.
- $sql variable — создание запроса SQL, который вы хотите выполнить. В этом примере, мы выбираем столбец name из таблицы employee.
- query($sql) — здесь мы выполняем SQL запрос, который мы только что создали.
- foreach — вот здесь мы пробегаем по вышеуказанным командам и сохраняем их в переменной строке $, а затем мы показываем их с помощью команды печати.
- В MySQL PDO, чтобы закрыть соединение, просто обнулите значение переменной $conn.
При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.
Подключение к базе данных. Имя Сотрудника: AndreyEx Ruslan Maria Oleg
3. Подключение на PHP с использованием функций mysql_ (устар)
Используйте этот метод, только если вы используете более старую версию PHP и не можете обновить ее до новой версии по какой-то причине.
Рекомендуется использовать метод #2 и #3, показанный выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендация к использованию.
Это устаревшее расширение PHP 5.5 версии. Но начиная с PHP 7.0 версии, это не будет работать, так как она была удалена.
Начиная с PHP 5.5 версии, когда вы используете эти функции, они будет генерировать ошибку E_DEPRECATED.
Создайте следующий файл MySQL-legacy.php под Apache DocumentRoot:
<?php $conn = mysql_connect('localhost', 'root', 'mySecretDBpass'); mysql_select_db("andreyex"); if (!$conn) { die('Ошибка: не удается подключиться: ' . mysql_error()); } echo 'Подключение к базе данных.<br>'; $result = mysql_query('SELECT name FROM employee'); $row = mysql_fetch_row($result); echo "Сотрудник 1: ", $row[0], "<br>\n"; mysql_close($conn); ?>
В приведенном выше:
- Функция mysql_connect принимает три аргумента: 1) имя хоста, где база данных MySQL работает, 2) Имя пользователя для подключения к MySQL, 3) Пароль для пользователя MySQL. Здесь подключаемся к базе данных MySQL, которая выполняется на локальном сервере, используя имя пользователя root и его пароль.
- Функция mysql_select_db — Как следует из названия, будет выбирать базу данных, к которой вы хотите подключиться. Это эквивалентно команде «use». В этом примере мы подключаемся к базе данных andreyex.
- Функция mysql_query — Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец name из базы данных employee.
- mysql_fetch_row — используйте эту функцию для извлечения строк из запроса SQL, который мы только что создали.
- Наконец закрыть соединение с помощью команды mysql_close, как показано выше.
При вызове MySQL-legacy.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.
Подключение к базе данных. Сотрудник 1: AndreyEx
Редактор: AndreyEx
Поделиться в соц. сетях: