Den MySQL-konto, du bruger, har sandsynligvis en gammel adgangskode på 16 tegn (hash).
Du kan teste det med en MySQL-klient (som HeidiSQL, MySQL-konsolklienten eller enhver anden klient) og en konto, der har adgang til mysql
.user
bord. Hvis feltet Adgangskode indeholder 16 tegn, er det en gammel adgangskode og mysqlnd
kan ikke bruge den til at oprette forbindelse til MySQL-serveren.
Du kan indstille en ny adgangskode til den bruger med
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
edit:
Du bør også tjekke om serveren er sat til brug/opret gamle adgangskoder som standard
.
edit2:
Kør venligst forespørgslen
SELECT
Length(`Password`),
Substring(`Password`, 1, 1)
FROM
`mysql`.`user`
WHERE
`user`='username'
på 5.0.22-serveren (den der "fejler"). Erstat username
af den konto, du bruger i mysql_connect().
Hvad returnerer det?