#php #azure #azure-sql-database
#php #azure #azure-sql-database
Вопрос:
Я пытаюсь подключиться с php к Azure DB с помощью
$connectionInfo = array("UID" => "xxx@xxx", "pwd" => "xxx", "Database" => "xxx");
$serverName = "tcp:xxx.database.windows.net,1433";
$conn = sqlsrv_connect($serverName, $connectionInfo);
Но это дает мне
Неустранимая ошибка: вызов неопределенной функции sqlsrv_connect() в C:wampwww…index.php в строке 19
Комментарии:
1. Почему бы сначала не сделать быстрый поиск в Google и не найти такие вещи, как это или это?
2. Хорошо … спасибо. Тем не менее, теперь он говорит «Фатальная ошибка: вызов неопределенной функции sqlsrv_connect() в …», очевидно, в моем PHP отсутствует какое-то расширение.
3. Да, вам нужно расширение SQL server . В Windows добавить ее очень просто, обычно вам просто нужно включить соответствующую DLL в php.ini (см. Главу «установка»).
4. Спасибо! Установил его, кажется, все в порядке с подключением! 🙂 Должен ли я теперь работать с ним как с обычной базой данных MySQL?
Ответ №1:
сначала вы должны использовать собственный драйвер SQL Server для php, затем вы можете сделать что-то вроде:
$serverName = "tcp:sample.database.windows.net, 1433";
$connectionOptions = array("Database" => "sampleInit",
"UID" => "sampleUsr@sample",
"PWD" => "samplePass",
"MultipleActiveResultSets" => false);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn === false)
{
die(print_r(sqlsrv_errors(), true));
}
Вы можете прочитать больше о PHP и SQL Azure в следующем сообщении в блоге:
http://blogs.msdn.com/b/brian_swan/archive/2010/02/12/getting-started-with-php-and-sql-azure.aspx
Комментарии:
1. Спасибо! Установил его, кажется, все в порядке с подключением! 🙂 Должен ли я теперь работать с ним как с обычной базой данных MySQL?
2. Ну, теперь вы работаете как обычная база данных SQL Server 🙂 Есть некоторые (может быть больше) различия между языками SQL в SQL Server и MySQL. Например, в SQL server нет ключевого слова LIMIT . Но в целом — да, отныне вы работаете как с обычной базой данных. Я предлагаю вам использовать какой-то уровень абстракции БД, такой как adodb или любой другой.
Ответ №2:
Я добавил эту dll в папку ext /, а затем добавил extension=php_sqlsrv.dll
в php.ini в папке php7/.