Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Si, hai perfettamente ragione, questi alcuni errori della pagina:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D: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:

    mysql_fetch_row() expects parameter 1 to be resource, boolean given in D:

    Capisco cosa vogliono dire, ma non so come risolvere il problema, se riusciste a sistemarmi i due listati sopra, forse con molta pazienza potrei sistemare tutto, conosco molto poco il linguaggio

    Grazie

  2. #2
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    Quote Originariamente inviata da giovy58 Visualizza il messaggio
    Capisco cosa vogliono dire, ma non so come risolvere il problema, se riusciste a sistemarmi i due listati sopra, forse con molta pazienza potrei sistemare tutto, conosco molto poco il linguaggio

    Grazie
    Praticamente devi rifare da capo (contento, eh?)

    codice:
    $db=mysql_connect("XX.XXX.XXX.XX" , "SqlXXXXXX" , "XXXXXXXX");
    diventa qualcosa del tipo

    codice:
     define('DB_USER', 'iltuonomeutente);     
     define('DB_PASSWORD', 'latuapassword);
     define('DB_NAME', ilnomedeldatabase');    
      define('DB_HOST', 'ilnomedelservermysql');
      define('DB_DSN','mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8');
    
         try 
         {
             $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
         } 
             
         catch (PDOException $e) 
         {
     //qualche genere di informazione $e->getMessage());
             exit;
         }
    Ora il comando che usavi per la select
    codice:
    $comando="select * from condominio where ((amm_pass='$amm_pass') AND (cond_pass='$cond_pass'))";
    diventa qualcosa di molto simile a questo
    codice:
                  $statement = $conn->prepare("select * from condominio where (amm_pass=:ammpass) and (cond_pass=:condpass)");
       
     // qui si fa il binding, legando ai segnaposto :qualcosa i dati che devono riempirli
    // nell'esempio associamo :ammpass alla variabile $amm_pass
    // ovviamente avrei potuto chiamarlo anche :pippo e fare un bind :pippo,$amm_pass
    
          $statement->bindParam(':ammpass', $amm_pass);
          $statement->bindParam(':condpass', $cond_pass);
             
    // siccome PDO funziona a oggetti, puoi "incapsulare" le chiamate dentro
     // try
    // catch
    // e nel catch puoi prendere l'errore da $e->getMessage()
       try
             {
                 $statement->execute();
             }
             catch (PDOException $e) 
             {
             //di nuovo un problema
                 exit;
             }
     // ora puoi lavorare l'oggetto statement, ad esempio con
     //         $row = $statement->fetch();
     // o quello che ti serve
    Ultima modifica di brancomat; 30-09-2015 a 14:49

  3. #3
    ti ringrazio ma ci capisco molto poco, hai per caso un link dove spiegano con semplicità mysqli_ oppure PDO la vedo male questa situazione, mi porterà ad abbandonare tutto

  4. #4
    Utente bannato
    Registrato dal
    Jul 2013
    Messaggi
    290
    Quote Originariamente inviata da giovy58 Visualizza il messaggio
    ti ringrazio ma ci capisco molto poco, hai per caso un link dove spiegano con semplicità mysqli_ oppure PDO la vedo male questa situazione, mi porterà ad abbandonare tutto
    Ce ne sono tantissimi, anche su html.it mi sa.
    Considera che sono un niubbo pure io, avrò un vantaggio di una settimana
    Comunque per quanto riguarda PDO non è poi così difficile, solo devi praticamente rifare da capo tutte le parti dove operi con il database.

    Puoi operare anche come sei abituato (cioè con le query composte direttamente), ma dal punto di vista della sicurezza sono stra-consigliati.

    In pratica devi
    ... creare un oggetto DB con il quale ti colleghi (nome utente, password etc)
    ... preparare un comando su questo oggetto (es. select qualcosa... insert into...) mettendo al posto dei valori dei "segnaposti" che sono :nome. Esempio supponiamo di avere la variabile $cognomedacercare impostata in qualche modo.

    codice:
    select * from ... where ... cognome=:segnapostocognome
    invece di
    codice:
    select * from ... where ... cognome='.$cognomedacercare
    Ora devi legare al segnapostocognome il suo valore, e lo fai col bind come ho messo sopra.

    Non ti nascondo che il vantaggio di partire da 0 è quello di non portarsi dietro le cose "vecchie", bisogna in sostanza che lo rifai da capo (o quasi)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.