0

我在获取当前选定数据库的字符串名称时遇到问题。这就是我所做的......我试图回显数据库的名称,但它会产生错误“警告:mysql_fetch_array() 期望参数 1 是资源”

<?php
$dbcon = mysql_connect("localhost", "root", "")
        or die(mysql_error()."Not Connected");

$sql = mysql_query("select database()");
$row = mysql_fetch_array($sql);
echo "db ".$row[0];

?>

我需要获取选定的数据库名称,因为我将使用它

mysql_select_db()
4

4 回答 4

4

您应该在使用您的登录凭据连接后立即选择一个数据库。或者,如果您想查看root用户可以访问哪些数据库,请使用:

SHOW DATABASES;
于 2013-03-30T13:35:56.397 回答
3

select Database()显示所选数据库的名称。只有在您已经使用mysql_select_db().

如果您想获取可用的数据库的名称,请使用SHOW DATABASES

于 2013-03-30T13:36:35.983 回答
2

连接MySQL后需要自己选择一个数据库,默认不选择,像这样:

$dbcon = mysql_connect("localhost", "root", "")
    or die(mysql_error()."Not Connected");

mysql_select_db("databasename");  # add this line

$sql = mysql_query("select database()");
$row = mysql_fetch_array($sql);
echo "db ".$row[0];  

请不要使用 mysql_* 函数,因为它们已被弃用,而是使用 mysqli_*。

于 2013-03-30T13:34:19.463 回答
1

首先,我建议您使用 mysqli 函数而不是 mysql,因为它们已被弃用。

然后,您只需通过将参数中的数据库名称添加到 mysql_select_db() 来选择数据库:

  mysql_select_db('dbname');

请注意,mysqli 的另一个优点是您可以在连接字符串中指定数据库

于 2013-03-30T13:36:00.547 回答