使用php 7配置MSSQL

时间:2018-11-17 09:30:27

标签: php sql-server

我在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 Manager 我已经创建了一个带有sone表的数据库名称THL 我添加了服务器名称(本地)\ sqlexpress,但是它没有用,所以我将其更改为DESKTOP-DDOS0G1 \ sqlexpress,但仍然无法使用。

enter image description here

我的连接代码低于

<?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。

1 个答案:

答案 0 :(得分:2)

说明:

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

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

  • 检查System Requirements,以获取适用于SQL Server的PHP Microsoft驱动程序。还需要适当的ODBC驱动程序安装。

  • load 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;
}
?>