您正在使用的MySQL帐户可能具有旧的16个字符长的密码(哈希)。
您可以使用MySQL客户端(例如HeidiSQL,MySQL控制台客户端或任何其他客户端)和有权访问的帐户进行测试
mysql。
user表。如果密码字段包含16个字符,则它是一个旧密码,并且mysqlnd无法使用它来连接到MySQL服务器。
您可以使用以下方式为该用户设置新密码
SET PASSWORD FOR 'username'@'hostmask' = PASSWORd('thepassword')参见dev_mysql_set_password
编辑:
您还应该检查服务器是否默认设置为使用/创建旧密码。
edit2:
请运行查询
SELECt Length(`Password`), Substring(`Password`, 1, 1)FROM `mysql`.`user`WHERe `user`='username'
在5.0.22服务器上(“失败”的服务器)。替换
username为您在mysql_connect()中使用的帐户。
那会返回什么?



