Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用MYSQLI的困惑_Php_Mysql_Mysqli - Fatal编程技术网

Php 使用MYSQLI的困惑

Php 使用MYSQLI的困惑,php,mysql,mysqli,Php,Mysql,Mysqli,我刚开始使用MySQLIAPI for PHP。显然,每次实例化MYSQLI类的对象时,它都可以在连接到服务器时设置到数据库的连接,而不像mysql_connect,它先连接到服务器,然后您需要指定要查询的数据库 如果数据库存在,这是一个很好的问题,在我的例子中,在第一次连接到服务器/执行问题时,数据库不存在,因此我必须在不指定数据库的情况下进行连接,这很好,因为msyqli构造函数并不强制此数据库 我的挑战是,在尝试第一次连接之前,如何检查数据库是否存在。真正做到这一点的唯一方法是建立与服务器

我刚开始使用MySQLIAPI for PHP。显然,每次实例化MYSQLI类的对象时,它都可以在连接到服务器时设置到数据库的连接,而不像mysql_connect,它先连接到服务器,然后您需要指定要查询的数据库

如果数据库存在,这是一个很好的问题,在我的例子中,在第一次连接到服务器/执行问题时,数据库不存在,因此我必须在不指定数据库的情况下进行连接,这很好,因为msyqli构造函数并不强制此数据库

我的挑战是,在尝试第一次连接之前,如何检查数据库是否存在。真正做到这一点的唯一方法是建立与服务器的连接,然后使用以下查询的结果来判断数据库是否存在:

从信息\u SCHEMA.SCHEMATA WHERE SCHEMATA.SCHEMA\u NAME=“dbname”中选择COUNT(*)作为'exists';
如果返回true,则数据库存在,但现在的挑战是如何让mysqli对象查询该数据库,而不必在查询中为数据库的名称加前缀


非常感谢

使用databasename
作为查询更改当前工作的数据库。或者你当然可以使用