Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2017
    Messaggi
    48
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Non so che esercizio vuoi fare, ma questo codice serve a poco, 2 funzioni (fetch_array e query) sono semplicemente dei wrapper per funzioni native alle quali non aggiungi niente che ne giustifichi il finto override, potresti usare direttamente le funzioni native e avresti lo stesso identico risultato, ma usando meno risorse.
    Una funzione, conferma(), che potresti evitare mettendo il die direttamente dopo mysqli_query().

    Ricorda che le funzioni die() sono da usare solo per il debug, per applicazioni in produzione vanno tolti.

    Comunque, ti sta dicendo che la variabile $ricercaProdotti non è definita, in realtà dovrebbe essere definita, assicurati che nella tabella prodotti ci sia qualcosa, oppure è probabile che il tuo giro di funzioni introduca un qualche side effect sulla variabile invalidandola.
    Prova a modificare il codice in modo che il flusso sia quello che normalmente si userebbe, ovvero niente funzioni wrapper, usa direttamente le funzioni native mysqli_ e vedi se funziona, se va è colpa delle tue funzioni.
    le avevo create per riutilizzarle velocemente nelle varie altre funzioni.
    cmq ho cancellato tutto ed ho scritto cosi:
    codice:
    function mostraProdotti(){  global $connessione;
       $query = "SELECT * FROM prodotti";
       $scriviProdotti = mysqli_query($connessione, $query);
       if (!$scriviProdotti) {
         die("Non leggo" .mysqli_error($connessione));
       }
        while ($row = mysqli_fetch_array($scriviProdotti)) {
           echo $row['nome_prodotto']."<br>";
        }
        }
    Funziona benissimo cosi
    come lo modificheresti tu?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Quote Originariamente inviata da phelps Visualizza il messaggio
    le avevo create per riutilizzarle velocemente nelle varie altre funzioni....
    Ma esistono le funzioni native che puoi usare ovunque.

    Io userei le funzioni native mysqli_, fare quei wrapper non ti semplifica o ottimizza nulla, anzi, consumi inutilmente delle risorse.

    Cosa ti migliora usare questo
    while($row = fetch_array($ricercaProdotti))

    invece di questo?
    while($row = mysqli_fetch_array($ricercaProdotti))

    Nel primo caso fai una chiamata a funzione inutile che ti spreca tempo e risorse, attivi 2 funzioni invece di 1.

    Idem per query() e mysqli_query()

    Se il file config lo includi ovunque hai un'interazione col DB, ti basta definire la variabile $connessione lì dentro senza usare global.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2017
    Messaggi
    48
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ma esistono le funzioni native che puoi usare ovunque.

    Io userei le funzioni native mysqli_, fare quei wrapper non ti semplifica o ottimizza nulla, anzi, consumi inutilmente delle risorse.

    Cosa ti migliora usare questo
    while($row = fetch_array($ricercaProdotti))

    invece di questo?
    while($row = mysqli_fetch_array($ricercaProdotti))

    Nel primo caso fai una chiamata a funzione inutile che ti spreca tempo e risorse, attivi 2 funzioni invece di 1.

    Idem per query() e mysqli_query()

    Se il file config lo includi ovunque hai un'interazione col DB, ti basta definire la variabile $connessione lì dentro senza usare global.
    Infatti.. farò

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2017
    Messaggi
    48
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ma esistono le funzioni native che puoi usare ovunque.

    Io userei le funzioni native mysqli_, fare quei wrapper non ti semplifica o ottimizza nulla, anzi, consumi inutilmente delle risorse.

    Cosa ti migliora usare questo
    while($row = fetch_array($ricercaProdotti))

    invece di questo?
    while($row = mysqli_fetch_array($ricercaProdotti))

    Nel primo caso fai una chiamata a funzione inutile che ti spreca tempo e risorse, attivi 2 funzioni invece di 1.

    Idem per query() e mysqli_query()

    Se il file config lo includi ovunque hai un'interazione col DB, ti basta definire la variabile $connessione lì dentro senza usare global.
    Infatti.. farò grazie

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.