MySQL:确定select哪个数据库?

在调用mysql_select_db来获取数据库之后,有什么办法可以输出当前选中的数据库的名字吗? 这似乎很基本,但我找不到任何关于php.net或stackoverflow(所有结果是“没有数据库select”)。

只需使用mysql_query(或者mysqli_query,更好,或者使用PDO,最重要的是):

 SELECT DATABASE() FROM DUAL; 

附录:

关于FROM DUAL是否应该包含在这个问题上还有很多的讨论。 在技​​术层面上,这是甲骨文的延期,可以安全地删除。 如果你倾向于,你可以使用下面的代码:

 SELECT DATABASE(); 

也就是说,重要的是要注意,虽然FROM DUAL实际上并没有任何事情,但它是有效的MySQL语法。 从严格的angular度来看,包括括号在内的单行条件在JavaScript中也没有做任何事情 ,但这仍然是一个有效的做法。

 SELECT DATABASE(); 

ps我不想自由修改@cwallenpoole的答案,以反映这是一个MySQL问题,而不是Oracle问题,不需要DUAL

您始终可以使用STATUS命令来了解当前数据库和当前用户

在这里输入图像说明

http://www.php.net/manual/de/function.mysql-db-name.php的评论中,我从ericpp%bigfoot.com发现了这个:;

如果您只需要当前的数据库名称,则可以使用MySQL的SELECT DATABASE()命令:

 <?php function mysql_current_db() { $r = mysql_query("SELECT DATABASE()") or die(mysql_error()); return mysql_result($r,0); } ?> 
 @mysql_result(mysql_query("SELECT DATABASE();"),0) 

如果没有select数据库,或者没有连接,则返回NULL否则返回所选数据库的名称。

SELECT DATABASE()在PHPMyAdmin中工作。