首页 > 解决方案 > 用 php 7 配置 MSSQL

问题描述

我在我的 php 库中安装 MSSQL 时遇到问题。

我得到以下错误

致命错误:未捕获的 PDOException:在 C:\xampp\htdocs\img\test.php:7 中找不到驱动程序堆栈跟踪:#0 C:\xampp\htdocs\img\test.php(7): PDO->__construct ('sqlsrv:server=D...', '', '') #1 {main} 在第 7 行的 C:\xampp\htdocs\img\test.php 中抛出

我已经根据研发添加了下面的 dll 文件,但我仍然无法运行 mssql。我正在使用我的本地系统并安装了 SQL Server 2012 和 MS SQL 管理器 我已经创建了一个数据库名称 THL 和一个表我添加了服务器名称(本地)\sqlexpress 但它没有用所以我将它更改为 DESKTOP-DDOS0G1\ sqlexpress 仍然无法正常工作。

在此处输入图像描述

我的连接代码如下

<?php
$serverName = 'DESKTOP-DDOS0G1\sqlexpress';
$conn = new PDO("sqlsrv:server=$serverName ; Database=DHL", "", "");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
if(!$conn) {
    echo 'Something went wrong while connecting to MSSQL';
    die(print_r(sqlsrv_errors(),true));
}else
{
    echo 'connected';
}
?>

请提出我在此过程中遗漏的内容。我还安装了 ODBC。

标签: phpsql-serverpdosqlsrv

解决方案


说明:

您需要为 SQL Server(sqlsrv和/或pdo_sqlsrvPHP 扩展)安装或配置 PHP 驱动程序。

  • 检查 Microsoft PHP Drivers for SQL Server Support Matrix并下载此驱动程序的适当版本。如果您使用 PHP 7 或更高版本,则应选择版本 4.0、4.3、5.2 或 5.3(32 位或 64 位也取决于 PHP 版本)。

  • 检查Microsoft Drivers for PHP for SQL Server 的系统要求。还需要安装适当的 ODBC 驱动程序。

  • 将 SQL Server 的 PHP 驱动程序加载为 PHP 扩展。

使用 .检查配置<?php phpinfo();?>。应该有一个带有名称的部分pdo_sqlsrv(如果您使用 PDO)和/或sqlsrv(没有 PDO)。

例子:

使用 PDO:

<?php
$serverName = 'DESKTOP-DDOS0G1\sqlexpress';
try
    $conn = new PDO("sqlsrv:server=$serverName ; Database=DHL", "", "");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
} catch(PDOException $e) {
    die("Error connecting to SQL Server".$e->getMessage());
}   
?>

没有 PDO:

<?php
$serverName = 'DESKTOP-DDOS0G1\sqlexpress';
$cinfo = array(
    "Database" => "DHL"
);
$conn = sqlsrv_connect($serverName, $cinfo);
if ($conn === false) {
    echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
    exit;
}
?>

推荐阅读