SQLserver的PHP连接语句

时间:2017-05-08 10:41:37

标签: php sql-server azure

我在MS azure上有一个SQL服务器。使用php文件和一些基本的select语句(例如select * from table)我已经能够从数据库中获取数据,所以我知道我的细节是正确的。

但是,当我在任何其他文件中放入connect语句时,页面显示为空白。例如,任何表单提交页面。

这是我的连接声明:

<?php
$myServer = "hostname";
$myUser = "username";
$myPass = "password";
$myDB = "dbname";

$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 
?>

我确定它可能很简单,但我尝试了很多不同的方法,似乎没有任何工作,我甚至都没有得到错误信息。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

取消注释php.ini中的这一行。

extension=php_mssql.dll

要找到您的php.ini文件,请在PHP脚本顶部添加以下代码

<?php phpinfo(); ?>

答案 1 :(得分:0)

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

您可以利用Azure门户中的控制台工具,并执行php -m以检查Azure PHP运行时中的所有预安装模块: enter image description here

您可以在PHP中使用PDO来处理sql server数据库,例如以下连接测试:

try {
        $conn = new PDO("sqlsrv:server = tcp:garysql.database.windows.net,1433; Database = garymbdata", "gary", "QWEasdzxc123");
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch (PDOException $e) {
        print("Error connecting to SQL Server.");
        die(print_r($e));
    }

此外,除了直接修改php.ini之外,我们还可以在Azure Web App上配置PHP配置设置。如果您坚持,我们也可以在Azure Web App上安装mssql.dll扩展名。

有关详细信息,请参阅https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-php-configure