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


Azure PHP Application and 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', 'john@example.com')";

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));
}