如果我打开一个cmd shell并运行
>mysql --host=12.34.56.78 --port=1234 --user=myuser --password=mypassword mydb
我可以成功连接到远程mysql数据库。
但是如果我在我的localhost上创建一个包含
的php页面<?php
$hostname = "12.34.56.78:1234";
$username = "myuser";
$password = "mypassword";
$dbname = "mydb";
$connect = mysql_connect($hostname,$username,$password) or die ("Error: could not connect to database");
?>
我收到以下错误:
Error: could not connect to database
有人能解释一下这可能导致问题吗?
mysql_error() => mysqlnd cannot connect to MySQL 4.1+ using old authentication
答案 0 :(得分:1)
Auth问题是PHP 5.3和旧版MySQL的已知问题。检查一下:
答案 1 :(得分:0)
也许在你的php.ini参数中sql.safe_mode是“1”?
sql.safe_mode boolean
如果启用,指定默认值的数据库连接函数将使用这些值代替提供的参数。有关默认值,请参阅相关数据库的连接功能文档。