";没有选择数据库“;即使查询错误也可以


"no database selected" error even query is fine

我是mysql和php的新手。我正在用php和mysql进行数据库编程,但不断出现"未选择数据库"错误。我发现这个错误在网上很有名。我尝试了给其他有同样问题的人的每一个答案,但都没有奏效。这是我的代码:

if(!@mysql_connect('localhost','root','') || !@mysql_select_db ('a_database') ){
     die ('Connection Error !');
  }

$query = "SELECT `food`,`calories` FROM `food` ORDER BY `id`";
if($query_run=mysql_query($query)){
while($query_row = mysql_fetch_assoc($query_run))
{
        $food = $query_row['food'];
        $calories = $query_row['calories'];
        echo $food.' has '.$calories.' Calories'.'<br>';
}
} else {
    echo mysql_error();
}

这是产生错误的代码。在网上搜索后。我做了一些改变,但结果是一样的。我对前3到4行所做的更改:

$link = mysql_connect('localhost','root','');
if(!$link || !mysql_select_db ('a_database', $link) ){
      die ('Connection Error !');
}

请告诉我该怎么做才能解决这个问题,谢谢。

尝试使用此

<?php
    // Create connection
    $con=mysqli_connect("localhost","root","","a_database");
    // Check connection
    if (mysqli_connect_errno($con))
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    ?>

试试这个

$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "'n"; // if everything is successful

是的,不要使用mysql_*,使用mysqli_或PDO。