当我执行此代码时:
print_r(PDO::getAvailableDrivers());
Run Code Online (Sandbox Code Playgroud)
它说我有odbc司机可用.
Array ( [0] => mysql [1] => odbc [2] => sqlite )
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用它时:
$handle = new PDO("odbc:Server=dbServerIpAddress,myportnumber;Database=mydatabase", "myusername", 'mypassword');
Run Code Online (Sandbox Code Playgroud)
它没有做任何事情 - 没有错误,根本不起作用.它甚至不会执行该行!
如何通过PDO和ODBC将PHP连接到此MSSQL数据库?
我目前正在尝试在 MSSQL 2012 Express 上连接到我的 localdb。
我已经从http://www.microsoft.com/en-us/download/details.aspx?id=20098下载并安装了官方的 microsoft 驱动程序
我在我的 phpinfo() 中得到了某种 SQLSRV 部分。但是当我尝试创建一个新的 PDO 对象时,它说它没有驱动程序。我可以理解,因为 phpinfo() PDO 部分没有提到它,但它有自己的部分 + get_loaded_extensions 也显示 sqlsrv。我想那是来自官方的 MS Driver 吗?我正在使用 php_sqlsrv_53_nts.dll 和我的 Zend Server CE 5.6 和 PHP 5.3.9
现在据我所知我下载了错误的驱动程序,应该尝试PECL管理器带来的驱动程序吗?只有源代码可用,显然我在 Windows 机器上,所以我可以忘记我需要自己编译的所有内容 - 在使用 powershell 和我的 pecl / pear 安装时,我实际上遇到了后缀错误。
有没有人解决这个问题?非常感谢任何帮助
一切顺利,理查德
我的 Windows 主机支持 PHP,但 PHP 未配置为支持 ODBC 或 MSSQL。我无法让他们改变它,所以我想知道是否有办法通过其他方式连接到 SQL Server - 也许包括一些提供我需要的功能的文件?
我正在尝试使用PDO连接到SQL Server数据库.我一直在努力解决它现在我在我的页面上遇到这个致命错误,我试图连接到SQL Server
致命错误:带有消息'SQLSTATE [IMSSP]的未捕获异常'PDOException':此扩展需要Microsoft SQL Server 2012 Native Client ODBC驱动程序与SQL Server通信.访问以下URL以下载适用于x86的Microsoft SQL Server 2012 Native Client ODBC驱动程序:http://go.microsoft.com/fwlink/?LinkId = 163712 '
我从http://www.microsoft.com/en-us/download/details.aspx?id=20098(SQLSRV30.EXE)下载了驱动器 我已将这些驱动程序放在服务器上安装了php的ext目录中2008 R2服务器.
我还在php.ini文件的扩展名列的末尾添加了这两行
extension=php_pdo_sqlsrv_53_nts.dll
extension=php_sqlsrv_53_nts.dll
Run Code Online (Sandbox Code Playgroud)
我正在使用PH PVersion 5.3.19服务器API CGI/FastCGI线程安全禁用
我确实看到,pdo_sqlsrv但我没有看到客户端API版本.
为了能够使用PDO连接到具有SQL数据库的远程服务器,我还需要做些什么?我是否需要在远程服务器上安装任何东西?
这是我的php我的管理部分的截图

这是我的连接类
<?php
class connection {
private $connString;
private $userName;
private $passCode;
private $server;
private $pdo;
private $errorMessage;
protected $lastQueryTime;
protected $lastQuery;
private $pdo_opt = array (
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
);
function …Run Code Online (Sandbox Code Playgroud)