无法连接到SQL Server本地主机PHP 5.6

时间:2018-08-14 07:56:43

标签: php mysql database xampp localhost

请帮助我。访问本地主机上的index.php时收到此错误消息,我已经导入数据库中的所有表。我正在使用php 5.6和xampp 3.2.2。有人可以帮忙吗?

  

无法连接到SQL Server

这是我在engine.php上的代码

engine.php

 <?php 
class database_abc
  {
    var $server,
        $host,
        $user,
        $password,
        $database;

    function __construct($db_name = '', $db_password = '', $db_user = '', $db_host = 'localhost', $debug = '')
    {
      $this->host = $db_host;
      $this->user = $db_user;
      $this->password = $db_password;
      $this->database = $db_name;

      $this->open();
    }

    function open()
    {
      $this->server = @mysql_connect($this->host, $this->user, $this->password) or die("Couldn't connect to SQL server");
      @mysql_select_db($this->database, $this->server);
    }

    function query($sql, $debug = 0)
    {

      if($debug)
        echo "database/query :<strong>$sql</strong>:<br>\n";


      $result = @mysql_query($sql, $this->server);

      if( ($sql[0] == 'i') || ($sql[0] == 'I') )
        return mysql_insert_id();

      while( $row = @mysql_fetch_array($result) )
        $data[] = $row;


      if(isset($data)){
      return $data;
      }

    }

    function queryItem($sql, $debug = 0)
    {
      $result = $this->query($sql." LIMIT 0,1", $debug);
      return $result[0][0];
    }
  };


    $db = new database_abc("qwerty", "admin", "root", "localhost");

?>

1 个答案:

答案 0 :(得分:1)

在PHP启动时加载驱动程序 要在启动PHP时加载SQLSRV驱动程序,请首先将驱动程序文件移到您的扩展目录中。然后,请按照下列步骤操作:

  1. 要启用SQLSRV驱动程序,请添加以下内容以修改php.ini 行到扩展部分,相应地更改文件名:
  

extension = php_sqlsrv_72_ts.dll

在Linux上,如果您已经下载了预构建的二进制文件以进行分发:

  

extension = php_sqlsrv_72_nts.so

如果您已从源代码或使用PECL编译了SQLSRV二进制文件,则将其命名为sqlsrv.so:

  

extension = sqlsrv.so

  1. 要启用PDO_SQLSRV驱动程序,请使用PHP数据对象(PDO) 扩展名必须可用,既可以是内置扩展名,也可以是 动态加载的扩展程序。

在Windows上,预构建的PHP二进制文件带有内置的PDO,因此无需修改php.ini即可加载它。但是,如果您已从源代码编译PHP并指定了要构建的单独PDO扩展名,则它将被命名为php_pdo.dll,您必须将其复制到扩展名目录中,并将以下行添加到php.ini中:

  

extension = php_pdo.dll

在Linux上,如果已使用系统的程序包管理器安装了PHP,则PDO可能会作为动态加载的扩展名pdo.so安装。必须先加载PDO扩展,然后再加载PDO_SQLSRV扩展。扩展名通常使用单个.ini文件加载,这些文件在php.ini之后读取。因此,如果通过自己的.ini文件加载pdo.so,则需要在PDO之后加载PDO_SQLSRV驱动程序的单独文件。

要查找扩展名特定的.ini文件位于哪个目录,请运行php --ini并注意在“扫描其他.ini文件”下列出的目录:。查找加载pdo.so的文件-可能以数字为前缀,例如10-pdo.ini。数字前缀表示.ini文件的加载顺序,而没有数字前缀的文件则按字母顺序加载。创建一个文件以加载名为30-pdo_sqlsrv.ini(大于pdo.ini前缀的数字)或pdo_sqlsrv.ini(如果pdo.ini没有数字前缀)的PDO_SQLSRV驱动程序文件,并添加在其下面一行,相应地更改文件名:

  

extension = php_pdo_sqlsrv_72_nts.so

与SQLSRV一样,如果已从源代码或使用PECL编译了PDO_SQLSRV二进制文件,则将其命名为pdo_sqlsrv.so:

  

extension = pdo_sqlsrv.so

将此文件复制到包含其他.ini文件的目录中。

如果您使用内置的PDO支持从源代码编译PHP,则不需要单独的.ini文件,可以将上面的相应行添加到php.ini中。

  1. 重新启动Web服务器。