在我的项目中,我们使用了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
答案 0 :(得分:0)
这正是PDO等数据库抽象的意思。如果需要支持多个数据库平台,则应考虑使用这种抽象。
或者,您可以构建自己的抽象,例如可以使用基于mysql或mssql的不同类来实现公共接口或从公共父类继承。