Infatti non deve dirlo. Non c'e' ragione.[supersaibal]Originariamente inviato da Gianni_T
non mi tornano i conti...
come fa la funzione mysql_connect a funzionare senza avvisare MySQL 4.1 che deve memorizzare la password nel vecchio modo? [/supersaibal]
quello che va da php a mysql sono stringhe SQL. La funzione da usare mysqli_connect - mysql_connect sono scelte del CLIENT PHP. Il SERVER MySQL li capisce entrambe....
Il discorso password 16/40 digit e' "indifferente" a mysql. Si tratta solo di memorizzarla la prima volta in un modo oppure nell'altro. La differenza la fa il CLIENT. Mysql sa che se la stringa in arrivo e' memorizzata come OLD_PASSWORD() la deve convertire in HASH a 16 digit (la chiave primaria di user e' formata da HOST+USER), Se invece la password e' stata memorizzata con PASSWORD() la converte in 40 digit.
Infatti ho delle password di script che provo con php4 e php5 memorizzate con OLD_PASSWORD e mi funzionano perfettamente su entrambe le versioni di php. Nella tabella USER di mysql ho password di entrambe le lunghezze.
L'importante e' che a data chiave primaria corrisponda la password. A mysql nulla cale del tipo di CLIENT e meno male, ci mancherebbe pure questa.
In altre parole ... il CLIENT versione API 3.x.x puo' solo usare la password a 16 digit (OLD_PASSWORD() ) il CLIENT versione API 4.1.x puo' usarle entrambe.
![]()

Rispondi quotando