non e' mysql_connect che decide il tipo di password, ma il CLIENT.
Ho fatto prove con entrambi mysqli e mysql... esempio per chiarezza:
codice:
$mysqli = new mysqli('localhost','pippo1', 'mammamia','test');
$conn1 = mysql_connect('localhost','pippo1', 'mammamia');
$mysqli = new mysqli('localhost','pippo', 'mammamia','test');
$conn1 = mysql_connect('localhost','pippo', 'mammamia');
lo user pippo ha password "mammamia" memorizzata con OLD_PASSWORD() 16 digit
pippo1 ha password "mammamia" memorizzata con PASSWORD() 40 digit.
Su php5 funzionano tutte indifferentemente. su php4 funziona solo lo user pippo.
Avevo fatto questo accrocchio perche' pensavo di dover cambiare la connessione a seconda della versione di php. Invece no, con php5 va benissimo anche OLD_PASSWORD(). Il che mi da' da pensare che php5 mandi entrambe le passord sia a 16 che 40 digit, oppure piu' semplicemente mandi la password in chiaro. Sara poi mysql in base a come e' stata memorizzata a decidere quale algoritmo di hash utilizzare.
Sarebbe interessante poterlo verificare sul codice di mysql o di php5
Lo puoi provare velocemente anche con phpmyadmin... fai due user uno con pwd 16 digit e uno a 40 ... entrerai tranquillamente con entrambi gli user.