使用MYSQLI混淆

时间:2012-06-25 20:12:16

标签: php mysql mysqli

我刚开始使用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对象查询此数据库,而不必在查询中添加数据库名称的前缀。

非常感谢

1 个答案:

答案 0 :(得分:1)

USE databasename作为查询改变当前工作数据库。或者您当然可以使用$mysqli->select_db('databasename');