我正试图从mysql_ *函数转移到mysqli_ *函数 . 但是我在尝试 Build 与MySQL数据库的连接时遇到错误 . 在下文中,未注释的行(使用mysql_ *函数)在PHP 5.6中工作,但其他行则不行 . 如果我使用没有数据库名称的mysqli_connect,则 Build $ link,但是mysqli_select_db失败 . 如果我将mysqli_connect与数据库名称一起使用,则第一个例程将失败 .

if(!($link=mysql_pconnect($hostname,$username,$password))) {
//if(!($link=mysqli_connect($hostname,$username,$password))) {
//if(!($link=mysqli_connect($hostname,$username,$password,$databaseName))) {
    DisplayErrMsg(sprintf("Error connecting to host %s, by user %s",
        $hostname, $username));
    exit();
}

// Select the database
if(!mysql_select_db($databaseName,$link)){
//if(!mysqli_select_db($link, $databaseName)){
    DisplayErrMsg(sprintf("Error in selecting %s database",$databaseName));
    DisplayErrMsg(sprintf("Error: %d %s", mysql_errno($link), mysql_error($link)));
    exit();
}

我能够使用上面标识的变量值在phpMyAdmin中检查我的数据库 . 我得到的错误是“DB错误,无法列出表MySQL错误:访问被拒绝用户'www-data'@'localhost'(使用密码:NO)”