我有一个非共同体情况的comman问题。 当我尝试连接到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”文件! 由于我的特权,本教程中的大多数查询都被拒绝了。
我有什么其他的解决方案吗? 谢谢!
答案 0 :(得分:0)
请参阅Hostgator help
以下代码使用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;
?>