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().
Какво връща това?