我正在创建一个应用程序,我想要在MySQL或SQL Server上运行(不是同时运行)我创建了两个PHP类DatabaseMySQL和DatabaseSQLSVR,并且希望我的应用程序能够根据在安装时设置的常量知道要使用哪个数据库类。MySQL或SQL Server
define(DB_TYPE,“mysql”); //或“sqlsrv”
我在想办法解决这个问题。我的想法是在我实例化数据库的地方执行“if else”:
$ db =(DB_TYPE ==“mysql”)?新的DatabaseMySQL:新的DatabaseSQLSVR;
我知道必须有更好的方法来做到这一点。假设我想稍后添加第三个数据库类型;我必须去重做我的所有代码。
现实情况是,除非是非常简单的SQL,否则您必须调整语句。但如果你想获得最佳表现,这就是要走的路。 – 2010-06-13 18:31:37
而且你总是可以使用switch ... case语句而不是if ... else if ... else。当然,还有更好的解决方案,请参阅 – 2010-06-13 22:20:41