Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs
Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs
我正在使用
- Xampp 版本 3.2.1 和 PHP 版本 5.6.8。
- Microsoft Azure SQL 服务器
目标
我正在尝试创建一个 Web 应用程序来访问我的数据库,并且能够 SELECT、INSERT、UPDATE 和 DELETE 记录。
问题
我无法连接到数据库服务器
错误
Fatal error: Call to undefined function sqlsrv_connect() in
C:\xampp\htdocs\BLT\Employee_Database .php on line 25
代码
<html>
<head>
<Title>Employee Database</Title>
</head>
<body>
<form method="post" action="?action=add" enctype="multipart/form-data">
Last name <input type="text" name="LastName" id="LastName"/></br>
First name <input type="text" name="FirstName" id="FirstNamne"/></br>
E-mail address <input type="text" name="Email" id="Email"/></br>
User Id <input type="text" name="UserId" id="UserId"/></br>
Password <input type="password" name="Password" id="Password"/></br>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
$serverName = "jy4nij6vuy.database.windows.net,1433";
$connectionOptions = array("Database" => "robertfarb",
"UID" => "robertFarb",
"PWD" => "******");
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
?>
</body>
</html>
这就是我到目前为止所尝试的
- 我已经安装了 Microsoft PHP for SQL 驱动程序,并按照所有说明加载驱动程序,但它似乎无法正常工作!
- 我将
php_sqlsrv_56.ts.dll
文件添加到 PHP 的扩展文件夹,还有 php_pdo_sqlsrv_56.ts.dll
。
- 我还在 php.ini 文件中添加了
extension=php_sqlsrv_56.ts.dll
行。
如有任何帮助,我们将不胜感激!
The MSSQL extension is not available anymore on Windows with PHP 5.3
or later. SQLSRV, an alternative driver for MS SQL is available from
Microsoft: »
http://www.microsoft.com/en-us/download/details.aspx?id=20098
循序渐进
从以下网址下载 SQLSRV32.EXE(PHP 的 SQL 服务器的 Microsoft 驱动程序):http://www.microsoft.com/en-us/download/details.aspx?id=20098
选择路径:C:\xampp\php\ext
在 php.ini
中取消注释或附加 extension = php_sqlsrv_56_ts.dll
从 XAMPP 控制面板 (Stop/Start) 重新启动 Apache
我测试了它,它 100% 有效
中找到最新编译的二进制文件
Lea 的回答应该可以解决您的问题。从 Web PI 下载 PHP 5.6 非常重要 - https://www.microsoft.com/web/downloads/platform.aspx
将 Web PI 下载到计算机时,请确保使用 IE。
我遵循了 Lea Tano 的指导,但没有成功。我需要更多步骤。
至少 Windows7(或我的系统)缺少一些步骤(即那些没有在同一个 server/machine 中安装 MSSQL Server 的人)。
我是这样实现的:
- 按照 Lea Tano 指南安装 SQLSRV 5.6(或 5.3 或..)
- 下载并安装 OBDC Driver 11 (msodbcsql.msi)
- 下载并安装 SQL Server Native Client(sqlncli.msi 文件)
- 检查是否安装(如果没有,下载安装)Visual C++ Redistributable VS2012 Update4 (vcredist_x86.exe)
- 下载 PHP for SQL Server Windows (Link) 的 Microsoft Drivers,下载后打开文件会是一个 zip 文件
- 将下载的文件解压到默认的PHP扩展目录(通常是c:\php\ext,c:\xampp\php\ext)
- 要启用 SQLSRV 驱动程序,请通过将以下行添加到扩展部分来修改 php.ini。你的 PHP 版本和 extension/dll 版本应该匹配你可以参考下图。根据需要更改文件名:
extension=php_sqlsrv_80_ts.dll
- 要启用 PDO_SQLSRV 驱动程序,PHP 数据对象 (PDO) 扩展必须可用,可以是内置扩展,也可以是动态加载的扩展。
extension=php_pdo_sqlsrv_80_ts.dll
- 重新启动 Web 服务器。
请阅读 MS 文档Loading the Microsoft Drivers for PHP for SQL Server了解详细步骤和更多信息
NOTE: REMEMBER TO LOAD THE DRIVER VERSION CORRESPONDING TO THE PHP
VERSION REFER BELOW IMAGE
我正在使用
- Xampp 版本 3.2.1 和 PHP 版本 5.6.8。
- Microsoft Azure SQL 服务器
目标
我正在尝试创建一个 Web 应用程序来访问我的数据库,并且能够 SELECT、INSERT、UPDATE 和 DELETE 记录。
问题
我无法连接到数据库服务器
错误
Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\BLT\Employee_Database .php on line 25
代码
<html>
<head>
<Title>Employee Database</Title>
</head>
<body>
<form method="post" action="?action=add" enctype="multipart/form-data">
Last name <input type="text" name="LastName" id="LastName"/></br>
First name <input type="text" name="FirstName" id="FirstNamne"/></br>
E-mail address <input type="text" name="Email" id="Email"/></br>
User Id <input type="text" name="UserId" id="UserId"/></br>
Password <input type="password" name="Password" id="Password"/></br>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
$serverName = "jy4nij6vuy.database.windows.net,1433";
$connectionOptions = array("Database" => "robertfarb",
"UID" => "robertFarb",
"PWD" => "******");
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
?>
</body>
</html>
这就是我到目前为止所尝试的
- 我已经安装了 Microsoft PHP for SQL 驱动程序,并按照所有说明加载驱动程序,但它似乎无法正常工作!
- 我将
php_sqlsrv_56.ts.dll
文件添加到 PHP 的扩展文件夹,还有php_pdo_sqlsrv_56.ts.dll
。 - 我还在 php.ini 文件中添加了
extension=php_sqlsrv_56.ts.dll
行。
如有任何帮助,我们将不胜感激!
The MSSQL extension is not available anymore on Windows with PHP 5.3 or later. SQLSRV, an alternative driver for MS SQL is available from Microsoft: » http://www.microsoft.com/en-us/download/details.aspx?id=20098
循序渐进
从以下网址下载 SQLSRV32.EXE(PHP 的 SQL 服务器的 Microsoft 驱动程序):http://www.microsoft.com/en-us/download/details.aspx?id=20098
选择路径:C:\xampp\php\ext
在
php.ini
中取消注释或附加 从 XAMPP 控制面板 (Stop/Start) 重新启动 Apache
extension = php_sqlsrv_56_ts.dll
我测试了它,它 100% 有效
中找到最新编译的二进制文件Lea 的回答应该可以解决您的问题。从 Web PI 下载 PHP 5.6 非常重要 - https://www.microsoft.com/web/downloads/platform.aspx
将 Web PI 下载到计算机时,请确保使用 IE。
我遵循了 Lea Tano 的指导,但没有成功。我需要更多步骤。 至少 Windows7(或我的系统)缺少一些步骤(即那些没有在同一个 server/machine 中安装 MSSQL Server 的人)。
我是这样实现的:
- 按照 Lea Tano 指南安装 SQLSRV 5.6(或 5.3 或..)
- 下载并安装 OBDC Driver 11 (msodbcsql.msi)
- 下载并安装 SQL Server Native Client(sqlncli.msi 文件)
- 检查是否安装(如果没有,下载安装)Visual C++ Redistributable VS2012 Update4 (vcredist_x86.exe)
- 下载 PHP for SQL Server Windows (Link) 的 Microsoft Drivers,下载后打开文件会是一个 zip 文件
- 将下载的文件解压到默认的PHP扩展目录(通常是c:\php\ext,c:\xampp\php\ext)
- 要启用 SQLSRV 驱动程序,请通过将以下行添加到扩展部分来修改 php.ini。你的 PHP 版本和 extension/dll 版本应该匹配你可以参考下图。根据需要更改文件名:
extension=php_sqlsrv_80_ts.dll
- 要启用 PDO_SQLSRV 驱动程序,PHP 数据对象 (PDO) 扩展必须可用,可以是内置扩展,也可以是动态加载的扩展。
extension=php_pdo_sqlsrv_80_ts.dll
- 重新启动 Web 服务器。
请阅读 MS 文档Loading the Microsoft Drivers for PHP for SQL Server了解详细步骤和更多信息
NOTE: REMEMBER TO LOAD THE DRIVER VERSION CORRESPONDING TO THE PHP VERSION REFER BELOW IMAGE