Php и ms sql sqlsrv

sqlsrv_connect

Открывает соединение с базой данных Microsoft SQL Server. По умолчанию попытка подключения выполняется с использованием проверки подлинности Windows. Чтобы подключиться с использованием проверки подлинности SQL Server, включите «UID» и «PWD» в массив параметров подключения.

Список параметров

Имя сервера, к которому устанавливается соединение. Чтобы подключиться к определённому экземпляру, после имени сервера укажите обратную косую черту и имя экземпляра (например, serverName\sqlexpress).

Ассоциативный массив, определяющий параметры подключения к серверу. Если значения для ключей UID и PWD не указаны, будет предпринята попытка подключения с использованием проверки подлинности Windows. Полный список поддерживаемых ключей смотрите в разделе » Параметры подключения SQLSRV.

Возвращаемые значения

Ресурс подключения. Если соединение не может быть открыто, возвращается false .

Примеры

Пример #1 Подключение с использованием проверки подлинности Windows.

$serverName = «serverName\\sqlexpress» ; //serverName\instanceName

// Поскольку UID и PWD не указаны в массиве $connectionInfo,
// будет предпринята попытка подключения с использованием проверки подлинности Windows.
$connectionInfo = array( «Database» => «dbName» );
$conn = sqlsrv_connect ( $serverName , $connectionInfo );

if( $conn ) echo «Соединение установлено.
» ;
>else echo «Соединение не установлено.
» ;
die( print_r ( sqlsrv_errors (), true ));
>
?>

Пример #2 Подключение с использованием имени пользователя и пароля.

$serverName = «serverName\\sqlexpress» ; //serverName\instanceName
$connectionInfo = array( «Database» => «dbName» , «UID» => «userName» , «PWD» => «password» );
$conn = sqlsrv_connect ( $serverName , $connectionInfo );

if( $conn ) echo «Соединение установлено.
» ;
>else echo «Соединение не установлено.
» ;
die( print_r ( sqlsrv_errors (), true ));
>
?>

Пример #3 Подключение с использованием порта.

$serverName = «serverName\\sqlexpress, 1542» ; //serverName\instanceName, portNumber (по умолчанию 1433)
$connectionInfo = array( «Database» => «dbName» , «UID» => «userName» , «PWD» => «password» );
$conn = sqlsrv_connect ( $serverName , $connectionInfo );

if( $conn ) echo «Соединение установлено.
» ;
>else echo «Соединение не установлено.
» ;
die( print_r ( sqlsrv_errors (), true ));
>
?>

Примечания

По умолчанию sqlsrv_connect() использует пул соединений для повышения производительности соединения. Чтобы отключить пул соединений (т.е. принудительно устанавливать новое соединение при каждом вызове), установите для параметра «ConnectionPooling» в массиве $connectionOptions значение 0 (или false ). Для получения дополнительной информации смотрите раздел » Пул соединений SQLSRV.

У модуля SQLSRV нет специальной функции для изменения базы данных после подключения. Целевая база данных указывается в массиве $connectionOptions, который передаётся в sqlsrv_connect. Чтобы изменить базу данных при открытом соединении, выполните следующий запрос «USE dbName» (например, sqlsrv_query($conn, «USE dbName»)).

Смотрите также

  • sqlsrv_close() — Закрывает открытое соединение и освобождает ресурсы, связанные с этим соединением
  • sqlsrv_errors() — Возвращает информацию об ошибке и предупреждении последней выполненной операции SQLSRV
  • sqlsrv_query() — Подготавливает и выполняет запрос

Источник

Загрузка драйверов Майкрософт для PHP для SQL Server

Эта статья содержит инструкции по загрузке Драйверы Microsoft SQL Server для PHP в пространство процессов PHP.

Предварительно созданные драйверы для платформы можно загрузить на странице драйверов Майкрософт для PHP в SQL Server на сайте GitHub. Каждый пакет установки содержит файлы драйверов SQLSRV и PDO_SQLSRV в потоковых и отдельных вариантах. В Windows они также доступны в 32-разрядных и 64-разрядных версиях. Список файлов драйверов, содержащихся в каждом пакете, см. в статье System Requirements for the Microsoft Drivers for PHP for SQL Server (Системные требования драйверов Майкрософт для PHP для SQL Server). Файл драйвера должен соответствовать версии PHP, архитектуре и потоковости среды PHP.

В Linux и macOS драйверы можно также установить с помощью PECL, как описано в учебнике по установке.

Вы также можете создать драйверы из источника при разработке PHP или с помощью phpize . Если вы решили создать драйверы из источника, можно создать их статически в PHP, а не в качестве общих расширений, добавив —enable-sqlsrv=static —with-pdo_sqlsrv=static (в Linux и macOS) или —enable-sqlsrv=static —with-pdo-sqlsrv=static (в Windows) в команду ./configure при компиляции PHP. Дополнительные сведения о системе сборки PHP и phpize см. в документации по PHP.

Перемещение файла драйвера в каталог расширения

Файл драйвера должен размещаться в каталоге, где среда выполнения PHP сможет его найти. Проще всего разместить файл драйвера в каталоге расширений PHP по умолчанию. Чтобы найти каталог по умолчанию, запустите php -i | sls extension_dir в Windows или php -i | grep extension_dir в Linux/macOS. Если вы не используете каталог расширений по умолчанию, укажите каталог в файле конфигурации PHP (php.ini) с помощью параметра extension_dir. Например, в Windows, если вы поместили файл драйвера в каталог c:\php\ext , добавьте следующую строку в файл php.ini:

Загрузка драйвера при запуске PHP

Чтобы загружать драйвер SQLSRV при запуске PHP, сначала поместите файл драйвера в свой каталог расширений. Затем выполните следующие действия:

    Чтобы включить драйвер SQLSRV, добавьте в файле php.ini следующую строку в раздел расширения и измените имя файла соответствующим образом: В Windows:

extension=php_sqlsrv_82_ts.dll 

В Linux, если вы скачали предварительно созданные двоичные файлы для вашего дистрибутива, запустите следующий код:

extension=php_sqlsrv_82_nts.so 

Если вы выполнили компиляцию двоичного файла SQLSRV из источника или с помощью PECL, файл получит имя sqlsrv.so:

В Linux, если вы установили PHP с помощью диспетчера пакетов системы, PDO, скорее всего, установится как динамически загруженное расширение с именем pdo.so. Расширение PDO нужно загрузить перед расширением PDO_SQLSRV, иначе загрузка завершится ошибкой. Расширения обычно загружаются с использованием отдельных INI-файлов, и эти файлы считываются после файла php.ini. Таким образом, если файл pdo.so загружается с использованием собственного INI-файла, то после PDO понадобится отдельный файл, загружающий драйвер PDO_SQLSRV. Чтобы узнать, в каком каталоге находятся INI-файлы, относящиеся к расширению, запустите php —ini и обратите внимание на каталог, указанный в разделе Scan for additional .ini files in: . Найдите файл, загружающий pdo.so. Возможно, он имеет числовой префикс, например 10-pdo.ini. Числовой префикс указывает порядок загрузки INI-файлов. Файлы, не имеющие числового префикса, загружаются в алфавитном порядке. Создайте файл для загрузки файла драйвера PDO_SQLSRV с именем 30-pdo_sqlsrv.ini (подойдет любое число, большее, чем pdo.ini) или pdo_sqlsrv.ini (если у pdo.ini нет числового префикса) и добавьте в него следующую строку, изменив имя файла на подходящее.

extension=php_pdo_sqlsrv_82_nts.so 

Как и в случае с SQLSRV, если вы выполнили компиляцию двоичного файла PDO_SQLSRV из источника или с помощью PECL, файл получит имя pdo_sqlsrv.so:

Чтобы проверить, загружен ли драйвер, запустите сценарий, который вызывает phpinfo().

Дополнительные сведения о директивах php.ini см. в статье Описание встроенных директив php.ini.

См. также:

Getting Started with the Microsoft Drivers for PHP for SQL Server (Начало работы с драйверами Майкрософт для PHP для SQL Server)

Источник

Установка драйвера SQL Server для PHP

Драйверы Майкрософт для PHP для SQL Server предназначены для обеспечения надежной и масштабируемой интеграции с SQL Server для приложений PHP на платформах Windows, Linux и macOS. Драйверы — это расширения PHP, которые позволяют выполнять чтение и запись в SQL Server базах данных во всех выпусках SQL Server (включая выпуски Express) в скриптах PHP. Доступны два драйвера: драйвер SQLSRV предоставляет процедурный интерфейс для взаимодействия с SQL Server. Драйвер PDO_SQLSRV реализует объектно-ориентированный интерфейс PDO PHP для работы с базами данных.

Api драйверов включает поддержку проверки подлинности Active Directory, транзакций, привязки параметров, потоковой передачи, доступа к метаданным, обработки данных в Юникоде и обработки ошибок. Драйверы используют Microsoft ODBC Driver для SQL Server для взаимодействия с SQL Server. Драйверы также поддерживают Microsoft SQL Azure Database, позволяя разработчикам создавать приложения PHP с реляционными возможностями с помощью SQL Azure Database.

Драйверы Майкрософт для PHP для скачивания SQL Server доступны всем пользователям SQL Server. Выпуски и исходный код драйверов доступны на странице проекта GitHub. Полная документация по драйверам доступна в Microsoft Learn. Ниже приведен краткий обзор установки и настройки в Windows и IIS.

Требования к системе

Полные сведения о требованиях к системе для всех поддерживаемых версий драйвера можно найти на странице системных требований. Требуется наличие следующего программного обеспечения:

  • На компьютере клиента выполните следующее.
    • Поддерживаемая операционная система Windows, Linux или macOS
    • Поддерживаемая версия PHP
    • Поддерживаемая версия Драйвера Microsoft ODBC для SQL Server
    • Веб-сервер, настроенный для запуска PHP
    • Поддерживаемая версия базы данных SQL Server или Azure SQL

    Установка драйверов

    Драйверы Майкрософт для PHP для SQL Server можно установить с помощью установщика веб-платформы. Чтобы скачать и установить драйверы вручную, выполните следующие действия.

    1. Скачайте и запустите пакет установки по соответствующей ссылке на странице скачивания.
    2. Введите каталог для извлечения пакета при появлении запроса.
    3. Откройте каталог, выбранный на шаге 3, и скопируйте необходимые библиотеки DLL в каталог расширения PHP. Имена файлов указывают, для какой версии PHP, потока и архитектуры предназначен каждый dll-файл. Например, php_sqlsrv_73_ts_x64.dll является 64-разрядным драйвером SQLSRV для потокобезопасного (ts) PHP 7.3.
    4. Скачайте и установите Microsoft ODBC Driver для SQL Server по соответствующей ссылке на странице загрузки ODBC.
    5. Измените php.ini файл, добавив в раздел следующие строки Extensions :

    Настройка драйверов

    1. Получите текущие параметры конфигурации для драйвера SQLSRV с помощью sqlsrv_get_config функции или для драйвера PDO_SQLSRV с помощью PDO::getAttribute функции .
    2. Измените параметры конфигурации для драйвера SQLSRV с помощью sqlsrv_configure функции или для драйвера PDO_SQLSRV с помощью PDO::setAttribute функции .
    3. Убедитесь, что драйверы загружены, и проверьте параметры конфигурации, выполнив скрипт, который вызывает функцию phpinfo():
      1. Откройте текстовый файл и скопируйте в него следующий код:

      Таблица с параметрами конфигурации локальных и master значений.

    4. Сохраните файл как info.php в корневом каталоге IIS.
    5. Откройте браузер и перейдите на страницу http://localhost/info.php .
    6. Прокрутите страницу вниз, чтобы найти sqlsrv разделы и pdo_sqlsrv . Убедитесь, что драйверы загружены, а для параметров конфигурации заданы значения по умолчанию (см. рис. 1). Рис. 1. страница SQL Server параметров конфигурации
  • Создание подключения к базе данных

    При использовании драйвера sqlsrv_connect() SQLSRV функция используется для установления соединения с сервером. При использовании драйвера PDO::__construct PDO_SQLSRV функция используется для установления соединения с сервером.

    Подключения можно устанавливать с помощью проверка подлинности Windows, проверки подлинности SQL Server или проверки подлинности Azure Active Directory. По умолчанию используется проверка подлинности Windows. В большинстве сценариев это означает, что удостоверение процесса или поток веб-сервера (если веб-сервер использует олицетворение) используется для подключения к серверу, а не удостоверение пользователя.

    Ссылки для получения дополнительных сведений

    Источник

    Читайте также:  Parameter list object java
Оцените статью