【问题标题】:Confusion using MYSQLI使用 MYSQLI 的困惑
【发布时间】:2012-06-25 20:12:15
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-02-22
      • 2023-03-29
      • 2020-04-16
      • 2011-01-26
      • 2012-09-17
      • 2013-04-04
      • 2015-07-19
      • 2012-12-06
      • 1970-01-01
      相关资源
      最近更新 更多