如何在PHP 5.5和MSSQL中使用PDO

时间:2014-03-31 22:11:27

标签: php sql-server pdo

我最近开始学习PHP,现在我正在努力的一些事情是与MSSQLS数据库的连接。我在一些引用良好的网站上了解到,使用SQL数据库与PHP一起使用PDO最常见(也是最好)的方法是使用PDO。

所以,这就是我到目前为止所做的:

1-已成功安装驱动程序:

extension=php_sqlsrv_55_ts.dll

extension=php_pdo_sqlsrv_55_ts.dll

(我已经检查了phpinfo(),我的PHP版本是线程安全的)

2-驱动程序在phpinfo()

中被识别

3-我一直收到这个错误:

4- Uncaught exception 'PDOException' with message 'SQLSTATE[IMSSP]: This extension requires the Microsoft SQL Server 2012 Native Client ODBC Driver to communicate with SQL Server.

Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712' in C:\xampp\htdocs\catala4\testdb.php:4 Stack trace: #0 C:\xampp\htdocs\catala4\testdb.php(4): PDO->__construct('sqlsrv:Server=H...', 'USER', 'PASSWORD') #1 {main} thrown in C:\xampp\htdocs\catala4\testdb.php on line 4

执行此代码时:

<?php
include_once 'configs.php';

$mysqli = new PDO("sqlsrv:Server=HOST;Database=DATABASE", "USER", "PASSWORD");

我不知道出了什么问题,我想帮助解决这个问题,所以我的问题是:

  • ODBC驱动程序究竟是什么?它是连接SQLS所需的驱动程序吗?
  • 考虑到我使用PDO连接数据库,PDO是一个访问任何数据库的中间接口,我可以说这个接口使用的任何通用代码都适用于所有支持的数据库吗?
  • 我得到的错误是什么,我应该做什么/我应该在哪里找到解决问题的更多信息?

使用PHP v 5.5.9

enter image description here

3 个答案:

答案 0 :(得分:4)

  • ODBC驱动程序究竟是什么?它是连接SQLS所需的驱动程序吗?

是的,确实如此。请read up on ODBC

  • 考虑到我使用PDO连接数据库,PDO是一个访问任何数据库的中间接口,我可以说这个接口使用的任何通用代码都适用于所有支持的数据库吗?

错误的ODBC是middelware。

  • 我得到的错误是什么,我应该做什么/我应该在哪里找到解决问题的更多信息?

<强>问题: 未安装驱动程序。

<强>解决方案: Download and install ODBC driver.

答案 1 :(得分:0)

修复我从

下载的同样问题

http://www.microsoft.com/es-ar/download/details.aspx?id=35580

点击下载并选择包

sqlncli.msi

这正是缺少的。

希望它有所帮助,为我工作。 =)

Xampp 1.8.3-3,PHP 5.5.9,和你一样

答案 2 :(得分:0)

您只需从此link

安装SQL Server的MS ODBC驱动程序11