【问题标题】:Connect to SQL Server using PHP?使用 PHP 连接到 SQL Server?
【发布时间】:2015-10-30 03:15:34
【问题描述】:

我对使用 PHP 还是很陌生。我下载了 XAMPP,并安装了所有东西。 PHP 5.5.27 是版本。我运行了一个测试 php 程序,它是 jsut echo "Hello World"。它工作得很好。我还能够使用 PHP 连接到 MYSQL 数据库。

$link = mysqli_connect("localhost", "u/n", "pass", "databasename";

我遇到并需要帮助的问题是连接到 sql server。我怎么做?在网上看到一个例子,试了一下:

$serverName = "servername";
$connectionInfo = array("Database"="name", "UID"=>"U/N", "PWD"=>"pass";>
$conn = sqlsrv_connect($serverName, $connectionInfo);

但每次我运行它都会告诉我:

调用未定义函数 sqlsrv_connect()

有人可以帮我理解发生了什么吗?

【问题讨论】:

  • 我认为 XAMPP 中没有启用 SQL server PHP 扩展。
  • ^^ 检查php -m 的输出以获取已安装的模块。看来您要么没有安装它,要么没有启用它。 sqlsrv 扩展不随 PHP 提供。
  • 如果 sqlsrv 扩展对于 php 5.5 仍然存在,则必须安装它。替代品是 odbc 和 pdo_odbc。
  • 我推荐使用 PHP 的 PDO 库。

标签: php mysql sql sql-server sql-server-2008


【解决方案1】:

考虑使用 PHP 的数据对象 (PDO) 连接到 SQL Server(实际上您可以使用它连接到 MySQL 或任何其他数据库)。

使用MSSQL sqlsrv API(必须设置各种dll):

<?php

$server = 'servername';
$database = 'databasename';
$username = 'username';
$password = 'pass';

try {
    $conn = new PDO("sqlsrv:Server=$server;Database=$database", 
                     $user, $password);
}
catch(PDOException $e) {  
    echo $e->getMessage()."\n";
    exit;
}

?>

使用ODBC Driver or DSN API(需要安装通常随数据库或 Windows 一起提供的 MSSQL ODBC 驱动程序):

<?php

$server = 'servername';
$database = 'databasename';
$username = 'username';
$password = 'pass';

try {
    $dbh = new PDO("odbc:Driver={SQL Server};Server=$server;           
                   database=$database",$username,$password);
}
catch(PDOException $e) {  
    echo $e->getMessage()."\n";
    exit;
}

?>

【讨论】:

  • 感谢您的回复。我运行了代码的底部示例(ODBC 驱动程序)。已安装 ODBC 驱动程序。但是当我运行你的代码时,它说“找不到驱动程序”。如何解决这个问题?
  • 我认为这可能对我有所帮助,所以我运行了 phpInfo(),并在打开的页面上一直到 PDO。启用的 PDO 驱动程序是 mysql 和 sqlite。别人怎么没启用?
  • 在您的 php.ini 文件中,取消注释扩展名:php_pdo_odbc.dll。这可能需要重新启动您的网络服务器。
  • 我走了一条不同的路。因为未来是其他人来过这篇文章,这就是我成功的做法。 robsphp.blogspot.co.uk/2012/06/…
猜你喜欢
  • 2014-02-05
  • 2015-09-03
  • 2022-11-21
  • 1970-01-01
  • 2012-03-12
  • 2011-12-03
  • 2016-11-08
  • 1970-01-01
  • 2018-01-02
相关资源
最近更新 更多