在php5.3版本上将mysql类转换为mssql类


convert mysql classes to mssql classes on php 5.3 version

在我的项目中,我们使用了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;
        }

}

我可以使用哪个驱动程序或轻松更换它们?乙醇advide

这正是像PDO这样的数据库抽象的意义所在。如果您需要支持多个DB平台,您应该考虑使用这样的抽象。

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