PHP页面可以连接MySQL服务器上的某些数据库,但不能连接其他数据库?

时间:2017-04-12 03:37:42

标签: php mysql database

希望你做得好。

我试图将.php网页连接到localhost上的MySQL数据库。当我下载我的SQL服务器时,数据库包含此图片中显示的所有数据库除了' favr'

Databases on server:

当我尝试连接数据库' mysql'或者' phpmyadmin'它就像一个魅力,我可以显示表数据。但是,我创建了数据库' favr'并且我无法连接到那个。有没有人知道为什么会这样?我的用户(' root',没有密码)拥有' favr'的完全权限。以及所有其他数据库。

因为您在这里询问了连接代码:

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
//define('DB_PASS', 'new_password');

$conn = mysql_connect(DB_HOST, DB_USER, "");
if (!$conn) {
    die('Could not connect' . mysqli_connect_error());
}
else {
    echo "connected";
}
mysql_select_db('mysql', $conn) or die('Could not select database.');
$query = "SELECT * FROM db";
$result = mysql_query($query, $conn);
if(!$result){
die("Query failed");
} 

这很好用,我可以打印表格" db"在数据库" MySQL。"当我分享" favr" for" mysql"但是,我得到了无法选择的数据库'第12行的错误。

1 个答案:

答案 0 :(得分:1)

很明显,这是某种用户错误,我们无法从您的问题信息中复制。

您说可以使用mysql_connect("local_host","root","")进行连接。 这与您的数据库选择功能/行无关: mysql_select_db('mysql')

但是当您在连接后尝试:mysql_select_db('favr')时,您的代码会回溯并说连接存在问题。这是h .. PHP不会根据后续函数改变它对早期真/假条件的看法。

实际情况是,您应该借此机会将mysql_函数升级为mysqli_函数。然后你可以用:

开始试验/调试
if($db=mysqli_connect("localhost","root","","favr")){
    echo "Connected without password to 'favr'";
}else{
    echo "Connection error: ",mysqli_connect_error();
}

如果确实发生了犯规行为,您将能够更好地表达事件并为我们提供可重复的失败。