Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [PHP7] Tradurre "mysql_result" in PHP 7/MySqli

    Cari, ho un progetto realizzato qualche anno fa in PHP 5.x che sto traducendo al nuovo PHP 7 .


    Il codice-sample è il seguente:
    codice:
    $query = sprintf("SELECT id, att, arr, rub FROM table ORDER BY numvis DESC LIMIT 0,5");
    $result = mysqli_query($query; $conn);
    // Check result
    if (!$result) {
        $message  = 'Invalid query: ' . mysql_error() . "n";
        $message = 'Whole query: ' . $query;
        echo $message;
    }
    $number = mysqli_num_rows($result);
    if ($number < 1) {
        print "<center><p>No results.</p></center>";
    }else{
      $i = 0;
      while ($number > $i) {
        $attMOST[] = mysql_result($result,$i,"att");
        $arrMOST[] = mysql_result($result,$i,"arr");
        $rubMOST[] = mysql_result($result,$i,"rub");
        $i++;
        }
    }
    So che il comando mysql_result in php 7 non esiste. Come affronto la problematica? suggerimenti?
    Ultima modifica di andrealuigi; 03-12-2020 a 17:59

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Puoi creare una tua funzione esiste qualche esempio online oppure che ti occorrono tutti i campi della tua select usi questa funzione https://www.php.net/manual/en/mysqli...etch-assoc.php comunque è $i++; non i++;

  3. #3
    Corretto §i.

    Non mi servono tutti i risultati, ma ad esempio 5.

    Ho visto online quest'esempio:
    codice:
    $loginStrGroup  = mysql_result($LoginRS,0,'UserLevel');
    CHE DIVENTA 
    
    $row = mysqli_fetch_assoc($LoginRS);
    $loginStrGroup  = $row['UserLevel'];
    Ma non mi pare coordinabile con il mio ciclo while, non tenendo il considerazione l'incrementale $i. Qualche spunto?
    Ultima modifica di andrealuigi; 03-12-2020 a 18:03

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    SELECT id, att, arr, rub significa recupera quattro campi (tutti i campi della select).
    Codice PHP:
    $query "SELECT id, att, arr, sub FROM nome_tabella ORDER by id DESC LIMIT 0,5";

    if (
    $result mysqli_query($link$query)) {
    $result mysqli_query($link$query);
    while (
    $row mysqli_fetch_assoc($result)) {
            
    printf ("%s (%s)\n"$row["id"], $row["att"]);
        }

        
    /* free result set */
        
    mysqli_free_result($result);
    }

    /* close connection */
    mysqli_close($link); 
    Questo esempio recupera quattro campi ma ne stampa due, presta attenzione alle maiuscole e minuscole nel tuo database altrimenti per php non esiste tale campo.
    Abilita error_reporting(-1); in alto per il primo script che sarà eseguito dal tuo web server.
    Ultima modifica di darbula; 03-12-2020 a 19:26

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    f ($result = mysqli_query($link, $query)) {
    $result = mysqli_query($link, $query);

    Perche lo fai due volte ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Errore di copia incolla è valido solo la condizione per il if.

Tag per questa discussione

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