Het MySQL-account dat u gebruikt, heeft waarschijnlijk een oud wachtwoord van 16 tekens (hash).
U kunt dat testen met een MySQL-client (zoals HeidiSQL, de MySQL-consoleclient of een andere client) en een account dat toegang heeft naar de mysql
.user
tafel. Als het veld Wachtwoord 16 tekens bevat, is het een oud wachtwoord en mysqlnd
kan het niet gebruiken om verbinding te maken met de MySQL-server.
U kunt een nieuw wachtwoord voor die gebruiker instellen met
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
edit:
Je moet ook controleren of de server is ingesteld op gebruik/maak standaard oude wachtwoorden
.
edit2:
Voer de query uit
SELECT
Length(`Password`),
Substring(`Password`, 1, 1)
FROM
`mysql`.`user`
WHERE
`user`='username'
op de 5.0.22-server (degene die "mislukt"). Vervang username
door het account dat u gebruikt in mysql_connect().
Wat levert dat op?