系统信息
CMS:Wordpress
Web服务器:XAMPP
PHP版本:5.5.30
MS Management Studio 17
目标
使用PHP建立MSSQL数据库连接
已完成的工作
C:\xampp\php\ext
extension=php_pdo_sqlsrv_55_ts.dll
和extension=php_pdo_sqlsrv_55_nts.dll
代码
$serverName = "technology-pc\sqlexpress";
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"example_db");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
} else {
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
错误
调用未定义的函数sqlsrv_connect()
答案 0 :(得分:2)
您已将SQLSRV驱动程序的PDO变体添加到扩展程序列表,但尚未添加基本驱动程序php_sqlsrv_55_ts.dll
。
添加到php.ini:
extension=php_sqlsrv_55_ts.dll
或
extension=php_sqlsrv_55_nts.dll
此外,您确实应该使用线程安全(_ts.dll
)或非线程安全(_nts.dll
)版本的驱动程序,而不是两者。我相信,当您使用Apache服务器时,您应该使用线程安全版本。所以你php.ini应该有:
extension=php_sqlsrv_55_ts.dll
extension=php_pdo_sqlsrv_55_ts.dll
答案 1 :(得分:0)
您可能编辑了错误的php.ini文件。使用php info检查正确的php.ini文件。
您可以使用此脚本:
<?php echo phpinfo(); ?>
或者,如果您有CLI访问类型php -i以获取列出的信息。 检查php.ini文件的正确路径。
答案 2 :(得分:0)
尝试以下代码连接mssql数据库
$server = 'dburl.com\MSSQLSERVER, 1433';
$username = 'uname';
$password = 'password';
$connectionInfo = array( "Database"=>$database, "UID"=>$username, "PWD"=>$password,"ReturnDatesAsStrings"=>true);
$conn = sqlsrv_connect( $server, $connectionInfo);