日期:2014-05-17  浏览次数:20522 次

请教windows下用Navicat能连,用PHP无法连接远程mysql的问题!急!!!
PHP code

$user="user_test";
$pass="12345";
$server="172.17.1.15";
$port="3306";
$con=mysql_connect($server,$user,$pass);


PHP版本是 5.3 Mysql版本是 5.077 使用IIS7

显示的是如下错误:
Warning: mysql_connect(): Premature end of data (mysqlnd_wireprotocol.c:554) in D:\WwwRoot\AutoDial\mysql_connect_test.php on line 7 Warning: mysql_connect(): OK packet 1 bytes shorter than expected in D:\WwwRoot\AutoDial\mysql_connect_test.php on line 7 Warning: mysql_connect(): 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 

奇怪的是,使用 navicat可以连接到mysql,但使用代码不行,想请问下该如何解决啊?!谢谢各位了!

------解决方案--------------------
自mysql 4.1开始,不能再用明码的password连接mysql,你上面至少涉及这个问题