我刚开始使用mysqli API for PHP。显然,每次类的mysqli的对象实例化时,可以设置为它连接到不同的mysql_connect服务器,它首先连接到服务器,然后你需要指定数据库查询数据库的连接。
现在这是一个很好的问题,如果db存在,在我的情况下,db在第一次连接到服务器/执行问题时不存在,因此我必须连接而不指定数据库,这很好,因为msyqli构造函数不强制使用此数据库。
我的挑战本质上是,如何在尝试第一次连接之前检查数据库是否存在。真正做到这一点的唯一方法是建立到服务器的连接,然后使用以下查询的结果来衡量数据库是否存在:
SELECT COUNT(*) AS `exists` FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMATA.SCHEMA_NAME="dbname" ;
如果返回true,则数据库存在,但现在的挑战是如何让mysqli对象查询此数据库,而不必在查询中添加数据库名称的前缀。
非常感谢