phpmyadmin:没有选择数据库

时间:2012-05-22 17:03:51

标签: php mysql phpmyadmin

我正在尝试学习php和mysql。所以我尝试使用phpmyadmin创建一个数据库并将其与我的PHP连接。 这是一个简单的例子,我试着看看数据库是否正常工作

<?php
$connection = mysql_connect("localhost","root");
if(!$connection) {
    die("Database connection failed: " . mysql_error());
    $db_select = mysql_select_db("nameofdatabase",$connection);
    if (!$db_select) {
        die("Database selection failed:: " . mysql_error());
        }
    }
?>
<html>
<head>
<title>Databases</title>
</head>
<body>
<?php
$result = mysql_query("SELECT * FROM nameofdatabasetable", $connection);
if (!$result) {
    die("Database query failed::: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo $row[1];
}

?>

</body>
  </html>
<?php
mysql_close($connection);
?>

我得到了

 Database query failed::: No database selected

这意味着比这部分代码

<?php
$result = mysql_query("SELECT * FROM users", $connection);
if (!$result) {
    die("Database query failed::: " . mysql_error());
}
while ($row = mysql_fetch_array($result)) {
echo $row[1];
}

?>

不起作用(我把不同数量的这些&#34;:&#34;在每个if中。 任何帮助,将不胜感激!谢谢!

4 个答案:

答案 0 :(得分:4)

您的代码的逻辑没有意义,因为如果连接没有发生,那么您将无法选择数据库,并且如果无法连接到数据库,则数据库select语句也在逻辑中。试试这个:

$connection = mysql_connect("localhost","root"); 
if(!$connection) { 
   die("Database connection failed: " . mysql_error()); 
}else{
   $db_select = mysql_select_db("nameofdatabase",$connection); 
   if (!$db_select) { 
       die("Database selection failed:: " . mysql_error()); 
   } 
}

答案 1 :(得分:2)

我必须在mysql_connect调用中传递用户名和密码。这是我的数据库open()函数。

    $this->con_error = "";

    $db_con= mysql_connect($this->server, $this->username, $this->password);

    if (!$db_con) 
    {
        $this->con_error = mysql_error();
        return false;
    }       
    if(!mysql_select_db($this->database))
    {
        $this->con_error = mysql_error();
        return false;
    }

    return $db_con;

答案 2 :(得分:1)

die("Database connection failed: " . mysql_error());
$db_select = mysql_select_db("nameofdatabase",$connection);

mysql_select_db不可能在这里运行。它只能在死后调用。

$connection = mysql_connect("localhost","root");
if(!$connection) {
  die("Database connection failed: " . mysql_error());
}
$db_select = mysql_select_db("nameofdatabase",$connection);
if (!$db_select) {
  die("Database selection failed:: " . mysql_error());
}

答案 3 :(得分:-1)

如果您输入了服务器密码,也值得检查。  $ connection = mysql_connect(“localhost”,“root”); (密码丢失)

以下代码将捕获可能发生的任何其他错误,如下面的答案将提供mysql连接错误,以防万一。

    try 
   {
        $connection = mysql_connect("localhost","root", "password");
        if(!$connection) {   
          die("Database connection failed: " . mysql_error());   
        }   
        $db_select = mysql_select_db("nameofdatabase",$connection);   
        if (!$db_select) {   
          die("Database selection failed:: " . mysql_error());   
         }   

   }catch (Exception $e){
       error_log(" DB Error: ".$e->getMessage());
   }