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