php - Azure PHP 应用程序和 Azure SQL 数据库

标签 php azure azure-sql-database

我在 Azure 上有一个 PHP 应用程序,我希望该应用程序连接到 Azure SQL 数据库。

$servername = "AZURE.database.windows.net";
$username = "user";
$password = "pass";
$dbname = "DB";

$conn= mssql_connect($servername,$username,$password, $dbname);

$sql = "INSERT INTO AOL (AgentId,FullName, Email)
VALUES ('1', 'Doe', '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f09a9f989eb09588919d809c95de939f9d" rel="noreferrer noopener nofollow">[email protected]</a>')";


mssql_query($sql, $conn);
mssql_close($conn);

当我运行这个 php 脚本时,出现 500 错误。

您有在 Azure 和 Azure SQL 数据库上使用 PHP 的经验吗?或者必须在 Azure 上为 Azure SQL 数据库设置某些内容?

最佳答案

默认情况下,Azure 环境不安装 php_mssql.dll 扩展,而是安装 php_sqlsrv.dll。

您可以使用 sqlsrv() 代替:

$serverName = "<servername>.database.windows.net, 1433"; //serverName\instanceName
$connectionInfo = array("Database" => "<database_name>", "UID" => "<userid>", "PWD" => "<passowrd>");
$conn = sqlsrv_connect($serverName, $connectionInfo);

if ($conn) {
    echo "Connection established.<br />";

    $query = sprintf("SELECT 1 as test");
    $stmt = sqlsrv_query($conn, $query);
    if ($stmt === false) {
        die(print_r(sqlsrv_errors(), true));
    }

    while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
        print_r($row);
    }

    sqlsrv_free_stmt($stmt);

} else {
    echo "Connection could not be established.<br />";
    die(print_r(sqlsrv_errors(), true));
}

关于php - Azure PHP 应用程序和 Azure SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34754316/

相关文章:

.net - 部署 Azure 项目时出现依赖项警告 (WAT150)

c# - SQL Azure 数据库的本地 SQL 更改

sql - 在 SQL Azure 中安全地更改列数据类型

PHP/MySql/Jquery 脚本与 RAM

php - MYSQL 最大/计数/输入/日期

php - 在php中将数据导出到csv文件

azure - 如何跨订阅移动应用程序服务证书与 Web 应用程序及其证书

c# - 设置配置并在本地运行 azure 队列触发功能

sql - 在 SQL Azure 上的动态 SQL 中创建用户

php - 在 MySQL 中使用 LIKE 子句优化表以进行搜索