php - MySQL 或 SQL Server

标签 php mysql sql-server database

我正在创建一个应用程序,我想在 MySQL 或 SQL Server 上运行(不是同时运行)我创建了两个 PHP 类 DatabaseMySQL 和 DatabaseSQLSVR,我希望我的应用程序知道哪个数据库类根据安装时设置的常量使用。

定义(DB_TYPE,“mysql”);//或“sqlsrv”

我正在尝试思考处理这个问题的最佳方法。我的想法是在实例化数据库的任何地方执行“if else”:

$db = (DB_TYPE == "mysql") ?新的DatabaseMySQL:新的DatabaseSQLSVR;

我知道必须有更好的方法来做到这一点。假设我稍后想添加第三种数据库类型;我必须去重做我的所有代码。

最佳答案

用最简单的术语来说:

使用define将'DB_TYPE'定义为YourFullyQualifiedClassName,然后...

define('DB_TYPE', 'DatabaseMySQL') // or DatabaseSQLSVR or ...
$myDBType = DB_TYPE;
$db = new $myDBType();

关于php - MySQL 或 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3033398/

相关文章:

sql - 一次循环10条记录,赋值给变量

sql - 如何为主键列创建自定义自动生成的 ID 号?

取消引用函数结果的 PHP 语法

php - 我正在尝试在 Laravel 中创建的 PDF 中指定字体

MYSQL - 选择3个连接表的总数

javascript - 使用 jquery 和 php 更新数据库

PHP : Make other functions access the $conn variable inside my database connection function

php - 将php代码转换为字符串,与eval()相反

MySql 触发器 INSERT...ON DUPLICATE KEY UPDATE 无法识别列

sql - 将数据库名称设置为 SQL 中的变量