php - 用 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。
解决方案
说明:
您需要为 SQL Server(sqlsrv
和/或pdo_sqlsrv
PHP 扩展)安装或配置 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;
}
?>
推荐阅读
- node.js - Docker 构建不适用于节点上的 NextJS:带有 SWC 的高山
- git - 构建 docker 镜像时配置 git
- geospatial - 使用 xarray 将 netcdf 扩展到全球
- reactjs - 如何检测在 reactjs 中是否支持 avif?
- reactjs - 我们如何从 SAGA 中的生成器函数中导出变量?
- xml - XSL 将科学记数法转换为数字
- mysql - MySQL 表继承
- javascript - 第二次点击按钮后JS修改表格内容
- laravel - 如何使登录 api Laravel 默认会话
- python - 如何在django中更改模型中列的状态