简体   繁体   English

无法连接到 mssql 服务器或 sqlsrv 未显示在 phpinfo 上

[英]cant connect to mssql server or sqlsrv not showing up on phpinfo

I have problem to connect to SQL server.我在连接到 SQL 服务器时遇到问题。 I did all the steps from here and I already changed the php.ini configuration file:我从这里开始执行所有步骤,并且已经更改了php.ini配置文件:

;On windows: 
extension_dir = "D:\xampp\php\ext"

But I still can't connect, my PHP Version is 7.2.11.但是还是连接不上,我的PHP版本是7.2.11。 I tried with mssql_connect() and sqlsrv_connect() :我尝试使用mssql_connect()sqlsrv_connect()

This is my attempt:这是我的尝试:

<?php
$servername = "1111";
$username = "user";
$password = "123";
$dbname = "DEV";

$connection = mssql_connect($servername, $username, $password);
if (!$connection) {  die('Not connected : ' . mssql_get_last_message());} 
$db_selected = mssql_select_db($dbname, $connection);
if (!$db_selected) {
  die ('Can\'t use db : ' . mssql_get_last_message());
} else{

echo "success";}
?>

MSSQL extension for PHP ( mssql_ functions) and PHP Driver for SQL Server ( sqlsrv_ functions) are two different extensions for PHP.用于 PHP 的 MSSQL 扩展mssql_函数)和用于 SQL Server 的 PHP 驱动程序sqlsrv_函数)是 PHP 的两个不同扩展。

MSSQL extension is not available anymore on Windows with PHP 5.3 or later, so you need to install PHP Driver for SQL Server. MSSQL 扩展在装有 PHP 5.3 或更高版本的 Windows 上不再可用,因此您需要为 SQL Server 安装 PHP 驱动程序。 You need to download appropriate version of this driver.您需要下载此驱动程序的适当版本。 For PHP 7.2 - version 5.2 or 5.3 (32-bit or 64-bit also depends on PHP version).对于 PHP 7.2 - 版本 5.2 或 5.3(32 位或 64 位也取决于 PHP 版本)。 Also download and install an appropriate ODBC driver.还要下载并安装适当的 ODBC 驱动程序。

Check the configuration with <?php phpinfo();?> .使用<?php phpinfo();?>检查配置。 There should be a section with name pdo_sqlsrv (if you use PDO) and/or sqlsrv (without PDO).应该有一个名称为pdo_sqlsrv (如果您使用 PDO)和/或sqlsrv (没有 PDO)的部分。

Example:例子:

<?php
$server   = '1111';
$database = 'DEV';
$uid      = 'user';
$pwd      = '123';

# SQL Server authentication
#$cinfo = array(
#    "Database" => $database,
#    "UID" => $uid,
#    "PWD" => $pwd
#);

# Windows authentication
$cinfo = array(
    "Database" => $database
);

$conn = sqlsrv_connect($server, $cinfo);
if ($conn === false) {
    echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
    exit;
} else {
    echo "success";
}

sqlsrv_close($conn);
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM