0

我在非指挥情况下遇到指挥问题。当我尝试连接到托管在 HOSTGATOR 服务器中的 mysql 服务器时,我收到此错误:

Could not connect to database. SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file.

这里的解决方案非常简单和详细: http ://www.phpro.org/articles/Database-Connection-Failed-Mysqlnd-Cannot-Connect-To-MySQL.html

但是.... HostGator 不想更改“my.cnf”文件!由于我的特权,本教程中的大多数查询都被拒绝了。

我还缺少其他解决方案吗?谢谢!

4

1 回答 1

0

请参阅 Hostgator 帮助

以下代码使用PDO进行连接。

$DBH = new PDO("mysql:host=$host;dbname=$database", $username, $password);  
  $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
  //SELECT,INSERT queries here

}  
catch(PDOException $e) {  
    echo "I'm sorry I'm afraid you can't do that.". $e->getMessage() ;// Remove or modify after testing 
    file_put_contents('PDOErrors.txt',date('[Y-m-d H:i:s]'). $e->getMessage()."\r\n", FILE_APPEND);  
}  
// close the connection
$DBH = null;
?>
于 2013-11-11T18:19:50.947 回答