PHP: подключение к SQL-серверу

В этом руководстве вы узнаете, как подключиться к SQL Server из PHP с помощью объектов данных PHP(PDO).

Чтобы подключить приложения PHP к SQL Server с помощью PHP PDO, вам необходимо правильно установить необходимые драйверы и настроить среды PHP. Вы можете выполнить следующие шаги для подключения PHP к SQL Server в Windows.

Шаг 1: Проверьте версию PHP

Откройте терминал на вашем компьютере и выполните следующую команду, чтобы проверить версию PHP:

php -v

Вывод будет выглядеть так:

PHP 8.2.12(cli)(built: Oct 24 2023 21:15:15)(ZTS Visual C++ 2019 x64)
...

Вывод указывает на версию PHP 8.2.12. Эту версию вы будете использовать для установки совместимых драйверов SQL Server.

Шаг 2: Установите драйвер Microsoft ODBC для SQL Server

ODBC означает Open Database Connectivity(открытое подключение к базам данных) и представляет собой стандартный API для доступа к различным типам систем управления базами данных(СУБД).

Для доступа к SQL Server из PHP необходимо установить драйвер ODBC.

  1. Перейдите на страницу загрузки драйвера ODBC для SQL Server.
  2. Загрузите соответствующий драйвер для архитектуры вашей системы(x86 или x64).
  3. Запустите установщик и следуйте инструкциям на экране для завершения установки.
  4. Перезагрузите компьютер.

Шаг 3: Установка расширений PHP для SQL Server

  1. Перейдите на страницу загрузки драйверов Microsoft для PHP для SQL Server.
  2. Загрузите zip-файл драйвера и извлеките его в каталог. Выходной каталог включает в себя множество файлов .dll.
  3. Скопируйте соответствующие файлы .dll для вашей версии PHP(php_pdo_sqlsrv_82_ts_x64.dll и php_sqlsrv_82_ts_x64.dll) в каталог ext вашей установки PHP, например D:\xampp\php\ext.

Чтобы выбрать правильные файлы .dll для вашей версии PHP, обратитесь к следующей странице.

Шаг 4: Включите расширения в файле php.ini

Сначала найдите файл php.ini, выполнив следующую команду на терминале:

php --ini

Он возвращает вывод, подобный следующему:

Configuration File(php.ini) Path:
Loaded Configuration File:         D:\xampp\php\php.ini
Scan for additional .ini files in:(none)
Additional .ini files parsed:     (none)

Вывод показывает, что файл php.ini находится в каталоге D:\xampp\php\.

Во-вторых, откройте файл php.ini в текстовом редакторе и добавьте следующие строки, чтобы включить расширения драйвера SQL Server:

extension=php_pdo_sqlsrv_82_ts_x64.dll
extension=php_sqlsrv_82_ts_x64.dll

В-третьих, сохраните изменения и выйдите из текстового редактора.

Наконец, перезапустите веб-сервер, чтобы изменения вступили в силу.

Шаг 5: Подключение к SQL Server с помощью PDO

1) Создайте новый файл config.php для хранения SQL Server:

<?php
$db_server = 'localhost';
$db_name = 'BookStore';
$db_user = 'joe';
$db_password = 'YourPassword';

Пожалуйста, замените YourPassword на ваш надежный пароль.

2) Создайте новый файл connect.php, который подключается к SQL Server:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $conn;
    } catch(PDOException $e) {
        die($e);
    }
}
return connect($db_server, $db_name, $db_user, $db_password);

Как это работает.

Сначала определите функцию connect(), которая подключается к SQL Server:

function connect($db_server, $db_name, $db_user, $db_password) {

Во-вторых, создайте имя источника данных(DNS) для подключения к SQL Server:

$dsn = "sqlsrv:server=$db_server;Database=$db_name";

В-третьих, создайте новый объект PDO с dsn, пользователем базы данных и паролем. Объект PDO представляет собой соединение с SQL Server:

$conn = new PDO($dsn, $db_user, $db_password);

$conn не будет равен нулю, если соединение установлено успешно.

В-четвертых, установите режим ошибок на исключение, чтобы при возникновении ошибки вы могли быстро ее обнаружить. Это режим ошибок по умолчанию, поэтому вы можете его игнорировать:

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

В-пятых, верните объект PDO:

return $conn;

В-шестых, остановите скрипт и покажите ошибку, если она возникает во время подключения к SQL Server:

die($e);

Наконец, вызовите функцию connect() с параметрами, указанными в config.php, и верните объект PDO:

return connect($db_server, $db_name, $db_user, $db_password);

3) Создайте новый файл index.php:

<?php
$conn = require_once 'connect.php';
if($conn) {
    echo "Successfully connected to SQL Server database.";
}

В файле index.php загрузите скрипт connect.php, получите объект PDO($conn) и выведите сообщение, если приложение успешно подключится к SQL Server.

4) Откройте index.php в веб-браузере. Если вы видите следующий вывод, это означает, что вы успешно подключили PHP к SQL Server:

Successfully connected to SQL Server database.

Краткое содержание

  • Создайте новый объект PDO для подключения к базе данных SQL Server.
Мирослав С.

Автор статей, ИБ-специалист