首页 > 解决方案 > 找不到驱动程序,将php连接到sql server

问题描述

再会,

我正在尝试使用 php 连接到 Microsoft sql server 数据库我下载了 sql server 的 php 驱动程序并将它们放在扩展文件夹中。

我也对 php.ini 文件进行了一些调整,以包含新的扩展。

作为网络服务器,我使用的是类似于 XAMPP 的服务器,但相反,该服务器是便携式服务器,您可以将其放在 USB 记忆棒上并使用其他机器来完成您的开发工作。它被称为 USB 网络服务器。

每次我运行 php 脚本时,我都会收到错误消息:“找不到驱动程序”。我知道这个错误表明我与数据库的连接不成功。我不知道我做错了什么,我需要一些帮助。

以下是我连接数据库的代码:

  $DB_HOST = 'DESKTOP-AKQUS0J\SQLEXPRESS';
  $DB_USER = '';
  $DB_PASS = '';
  $DB_NAME = 'slddweb';

  try{
 $pdo = new PDO("sqlsrv:Server={$DB_HOST};Database={$DB_NAME}"," 
 {$DB_USER}","{$DB_PASS}");


   $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  }
  catch(PDOException $e){
   echo $e->getMessage();
  }

上面的脚本存储在一个名为 connect.php 的文件中

我使用以下代码来检测我当前使用的 php 版本:

 echo 'Current PHP version: ' . phpversion();

这表明我使用的是 php 5.4 版

我从这里下载了 php 的驱动程序以使用 sql server: https ://www.microsoft.com/en-us/download/details.aspx?id=20098 我在单击第三个复选框时下载了第三个文件。

名称为 php_sqlsrv_54_ts.dll 和 php_pdo_sqlsrv_54_ts.dll 的两个文件被复制到位于 php 文件夹中的扩展文件夹中。

这些文件名被放置在 php.ini 文件的扩展部分。

完成上述操作后,我重新启动了服务器......当我运行 php 脚本时,我从 connect.php 收到错误消息

任何帮助,将不胜感激。

标签: php

解决方案


确保在 PHP 中加载了 sql server 扩展。你可以php -m用来检查它。扩展名为php_sqlsrv. 和

  • SQLSRV40 for PHP 7.0+ (Windows、Linux)
  • SQLSRV32 for PHP 5.6、5.5、5.4(Windows)
  • SQLSRV31 for PHP 5.5(Windows)
  • SQLSRV30 for PHP 5.4(Windows)

推荐阅读