Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5

    Problema connessione php a db mysql

    Ciao a tutti, sono un novizio quindi spero di far tutto giusto, abbiate pazienza

    Da ieri aprendo una qualsiasi pagina collegata al database del mio sito, appare il seguente errore:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\inetpub\webs\fabiotit\xxxxxxxx.php on line 7

    Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in D:\inetpub\webs\fabiotit\xxxxxxxx.php on line 7
    Errore di connessione al Database



    Dove la linea di riferimento è sempre la seguente per tutte le pagine:


    Codice PHP:
    $db mysql_connect('62.149.xxx.xx','Sqlxxxxxx,'xxxxxxxx')
             or die("Errore di Connessione al Database"); 

    Modificando il comando mysql_connect in mysqli_connect risolverei la prima parte dell'errore, ma per quanto riguarda il Warning cosa dovrei fare esattamente ?
    Sono mesi che non metto mano al codice e sono un pò arrugginito...

    Al limite vi dico il link del mio sito, per aver le idee più chiare.
    Grazie mille

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ciao.
    Evidentemente è stata aggiornata la versione di PHP sul server, le funzioni mysql_ sono state deprecate in favore delle mysqli_, le funzioni mysql_ non saranno più supportate.

    La modifica andrà fatta non solo alla funzione di connessione al DB, ma in tutte le parti dove interagisci col DB, quindi ovunque tu abbia una funzione mysql_...
    Ultima modifica di Alhazred; 08-07-2015 a 09:07

  3. #3
    Il problema è la versione di mysql installata sul server, nel warning ti spiega praticamente tutto quello che bisogna fare per correggere l'errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ciao.
    Evidentemente è stata aggiornata la versione di PHP sul server, le funzioni mysql_ sono state deprecate in favore delle mysqli_, le funzioni mysql_ non saranno più supportate.

    La modifica andrà fatta non solo alla funzione di connessione al DB, ma in tutte le parti dove interagisci col DB, quindi ovunque tu abbia una funzione mysql_...
    Intanto ti ringrazio per la risposta.
    Credo che la versione sia stata portata ad una 5.x quindi suppongo tu abbia proprio ragione.
    Sto un pò guardando il funzionamento di mysqli in effetti penso sia da sostituire tutto.

    Il problema però è che anche con gli Warning la pagina non me la visualizza proprio: sfondo bianco e scritta di errore, stop.
    E non ho proprio chiaro sul cosa devo fare con la password, leggevo che probabilmente è una questione di bit (41 anzichè 16) ma non ho idea di cosa devo fare per far accettare la vecchia password al nuovo codice.

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    La password non credo che c'entri nulla, prima cambia le funzioni mysql_ sostituendole con quelle mysqli_, tutte ed in modo corretto, poi vedi la situazione.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    La password non credo che c'entri nulla, prima cambia le funzioni mysql_ sostituendole con quelle mysqli_, tutte ed in modo corretto, poi vedi la situazione.
    Grazie davvero, provo poi torno ad aggiornare la situazione

  7. #7
    Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in D:\inetpub\webs\fabiotit\xxxxxxxx.php on line 7
    Errore di connessione al Database
    Il problema è questo, il fatto che usi funzioni deprecate non ti stoppa l'esecuzione, indi anche sostituendo le funzioni mysql_ con mysqli_ non non risolverai il problema.
    Devi rigenerare la password del database altrimenti la situazione non cambia.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5
    Quote Originariamente inviata da fdisotto Visualizza il messaggio
    Il problema è questo, il fatto che usi funzioni deprecate non ti stoppa l'esecuzione, indi anche sostituendo le funzioni mysql_ con mysqli_ non non risolverai il problema.
    Devi rigenerare la password del database altrimenti la situazione non cambia.
    Ah ecco, ok allora!
    Scusa, ma non mi è chiaro però cosa intendi per rigenerare.
    Devo farlo da codice di programma, o devo semplicemente sostituirla da db?

  9. #9
    Praticamente la password di admin del database utilizza un hash non sicuro, quindi dovresti rigenerare(aggiornare) la password dell'utente del database, quella che usi per connetterti al database in sostanza.
    Se riesci a loggarti con phpmyadmin puoi provare ad eseguire questi due comandi:
    codice:
    UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';
    sostituendo ovviamente con i tuoi dati, e poi:
    codice:
    FLUSH PRIVILEGES;

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2015
    Messaggi
    5
    Ringrazio tutti, Aruba ha risolto il problema autonomamente delle password, ora non mi resta che sistemare il discorso dell'mysqli.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.