Visualizzazione risultati 1 fino 9 di 9

Discussione: Mysqli: fetch_all non definita

  1. #1
    Guest

    Predefinito Mysqli: fetch_all non definita

    Ciao a tutti. Ieri mi sono registrato su altervista e oggi ho provato a mettere online un progetto che sto realizzando. Molto spesso nel codice uso la funzione mysqli_result::fetch_all(), che in locale funziona. Qui invece ottengo:
    Codice:
    Fatal error: Call to undefined method mysqli_result::fetch_all() in /membri/glcproject/demo/lib/glc.php on line 55
    Come mai? La funzione non è supportata?
    Il codice è questo (funzione che recupera una lista di articoli dal database):
    Codice PHP:
    public function getArticleList() {
    $ret = array();
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSW, DB_NAME);
    $r = $mysqli->query("SELECT id, publicationDate AS date, title, summary, content, cid
    FROM articles
    ORDER BY date DESC
    LIMIT 0, "
    .NUM_ARTICLES);
    $res = $r->fetch_all();
    for(
    $i=0;$i<count($res);$i++)
    $ret[] = new Article($res[$i][0], (int)$res[$i][1], $res[$i][2], $res[$i][3], $res[$i][4], $res[$i][5]);
    $r->free();
    $mysqli->close();
    return
    $ret;
    }
    Grazie
    Ultima modifica di glcproject : 14-03-2014 alle ore 16.14.49

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Per quel metodo serve PHP 5.3 o superiore, lo puoi abilitare dal pannello di controllo.

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Per quel metodo serve PHP 5.3 o superiore, lo puoi abilitare dal pannello di controllo.
    Era già abilitato di default, ed ho anche provato a cambiare a php 5.3 extra ma non funziona.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Può essere che "$r" abbia un valore errato: controlla la query (magari eseguila su phpMyAdmin per vedere se ti da un errore), oppure controlla "$mysqli" per vedere se lo script è connesso correttamente al database (può esserti utile il metodo mysqli::error()).

    Ciao!
    Ultima modifica di alemoppo : 14-03-2014 alle ore 20.04.17

  5. #5
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Effettivamente, sembrerebbe che su AlterVista non sia disponibile questo metodo, aspettiamo delucidazioni dall'alto.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    Effettivamente, sembrerebbe che su AlterVista non sia disponibile questo metodo, aspettiamo delucidazioni dall'alto.
    Vorrebbe dire riscrivere tutte le elaborazioni dai dati forniti dal db. Spero che si trovi una soluzione!

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Può essere che "$r" abbia un valore errato: controlla la query (magari eseguila su phpMyAdmin per vedere se ti da un errore), oppure controlla "$mysqli" per vedere se lo script è connesso correttamente al database (può esserti utile il metodo mysqli::error()).

    Ciao!
    Sicuramente funziona tutto, l'ho provato e riprovato in locale.
    Ultima modifica di glcproject : 14-03-2014 alle ore 20.35.48

  7. #7
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Come scritto nella documentazione il metodo mysqli_result::fetch_all è disponibile solo se viene utilizzato il driver nativo di mysql, ma nel caso di Altervista non è questo il caso.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Come scritto nella documentazione il metodo mysqli_result::fetch_all è disponibile solo se viene utilizzato il driver nativo di mysql, ma nel caso di Altervista non è questo il caso.
    E quale potrei usare? Fetch_array?

  9. #9
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Citazione Originalmente inviato da glcproject Visualizza messaggio
    E quale potrei usare? Fetch_array?
    Ad esempio. Potrebbe anche interessarti questo: http://us3.php.net/manual/en/mysqli-...all.php#107983.

Regole di scrittura

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