在php 5.3版本上将mysql类转换为mssql类

时间:2014-04-23 23:56:15

标签: php mysql sql-server pdo sqlsrv

在我的项目中,我们使用了mysql。但现在客户想要使用mssql。我搜索,我们使用PDO或sqlsrv类。但我无法决定哪个适合我们的项目或轻松更改此Web应用程序的结构?

我的代码示例

class sql  {

public $oci;
public $rs;
public $temp;

public function __construct() {

    $this->oci = new mysqli(DBHOST, DBUSER, DBPASS,DBNAME);
    $this->oci->set_charset('utf8');

    if (mysqli_connect_errno()) {

           printf('Sql baglantı sorunu. Hata Kodu :' . mysqli_connect_errno());

           exit();
    }
}


public function closeOCI() {

    $this->oci->close();
}

public function query($query) {

    $this->rs = $this->oci->query($query);
}

并且登录类扩展了sql类

class login extends sql {


        public function loginControl($user, $pass)
        {

          $dbHandle = new sql($dbhost, $dbUserName, $dbPassWord, $dbCntDBName);
          //echo "SELECT level, name FROM users WHERE uName='$user' and pWord='$pass' limit 0,1";
          $dbHandle->query("SELECT level, name FROM users WHERE uName='$user' and pWord='$pass' limit 0,1");
          $result = $dbHandle->rs->fetch_assoc();

        return $result;
        }

}

我可以使用哪种驱动程序或轻松更改它们? thanx advide

1 个答案:

答案 0 :(得分:0)

这正是PDO等数据库抽象的意思。如果需要支持多个数据库平台,则应考虑使用这种抽象。

或者,您可以构建自己的抽象,例如可以使用基于mysql或mssql的不同类来实现公共接口或从公共父类继承。