Visualizzazione risultati 1 fino 2 di 2

Discussione: Leggere valore mysql

  1. #1
    attenzion non è connesso Utente AlterBlog
    Data registrazione
    15-01-2017
    Messaggi
    23

    Predefinito Leggere valore mysql

    Ciao

    E' possibile fare un codice molto piu corto per leggere vari valori salvati in mysql

    Grazie

    Codice PHP:
    <?php
     
            
    // connessione al database
            
    include('connect-db1.php');
     
      
            
    // Recupero dati ultimo valore nelle news
            
    $result mysql_query("SELECT * FROM Storico_attivazioni_generali WHERE data ='05-2014'");
            
    $total_results mysql_num_rows($result);
            
    $total_pages ceil($total_results);
            
    mysql_query("set names 'utf8'"); 
            if (
    $total_pages == '0'$renderForm ;
            else 
    $renderForm mysql_result($result$i'HV')
    ?>
    Codice PHP:
    <?php
     
            
    // connessione al database
            
    include('connect-db1.php');
     
      
            
    // Recupero dati ultimo valore nelle news
            
    $result mysql_query("SELECT * FROM Storico_attivazioni_dipendenti WHERE Dipendente = 'Manuel' and data ='06-2014'");
            
    $total_results mysql_num_rows($result);
            
    $total_pages ceil($total_results);
            
    mysql_query("set names 'utf8'"); 
            if (
    $total_pages == '0'$renderForm1 ;
            else 
    $renderForm1 mysql_result($result$i'HV')
    ?>
    Prosegue sempre cosi

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,150

    Predefinito

    Non usare le funzioni mysql_*: sono deprecate. Usa mysqli o PDO.

    In ogni caso dovresti controllare il valore restituito da mysql_query in modo da identificare eventuali errori.

    Accorciare il codice non lo renderà migliore, però puoi certamente rimuovere le istruzioni inutili come
    Codice PHP:
    $total_pages ceil($total_results); 
    in quanto $total_result è di tipo intero (poiché restituito da una chiamata a mysql_num_rows), e ceil applicata ad un numero intero restituisce il numero stesso.

    Non mi è per nulla chiaro perché chiamare mysql_query("set names 'utf8'"); dopo aver eseguito l'interrogazione (non mi è nemmeno chiaro perché chiamarlo in effetti...).

    Stai chiamando mysql_result passandole un parametro $i che non è definito da nessuna parte. Probabilmente intendevi $i = 0.

    Se il numero di pagine viene usato solo per capire se l'insieme di risultati è non vuoto, si può fare di meglio usando mysql_fetch_assoc, il quale restituisce un vettore associativo con i campi della prossima riga, oppure false se non ci sono più righe.

    Se ci tieni particolarmente alla brevità, puoi sostituire l'if-then-else con l'operatore ternario.

    Applicando tutte le migliorie, ottieni:
    Codice PHP:
    // Connessione al database
    // Rende disponibile una variabile $link rappresentante la connessione MySQLi
    include('connect-db1.php');


    // Recupero dati
    $query "SELECT * FROM Storico_attivazioni_generali WHERE data ='05-2014'";
    $result mysqli_query($link$query) or die(mysqli_error($link));

    $record mysqli_fetch_assoc($result);
    $render_form = ($record !== false) ? $record['HV'] : 0
    Ultima modifica di mzanella : 09-07-2018 alle ore 17.26.58

    I suggerimenti che do più spesso:
    • Le funzioni mysql_* sono deprecate. Usa PDO o MySQLi.
    • Non memorizzare le password in chiaro nella base di dati. Usa password_hash().
    • Indenta correttamente il codice e usa nomi significativi per gli identificatori.


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •