Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Query con PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    150

    Query con PHP

    Ragazzi quando richiamo questa Query da codice PHP mi da errore o non me la esegue
    mentre se la faccio direttamente da Mysql mi funziona...dove sbaglio???

    Codice PHP:

    include 'connect.php';


    $query=select *, (sommafinale - versato) as Saldo from info where utente="tizio";

    $result=mysql_query($query) or die("Non riesco ad eseguire la richiesta");
    $array = mysql_fetch_row($result);

    non mi restituisce alcun risultato mentre se faccio:


    $query=select *, (sommafinale - versato) as Saldo from info;

    mi funziona e mi appaiono tutti i record del DB ma io non voglio questo...


    da Mysql la stessa query mi restutuisce i risultati voluti...

    Perchè??

  2. #2
    se il codice è ESATTAMENTE quello che hai scritto allora l'errore è nel come lo hai scritto per php.

    Avresti risolto ragionando sul "chi mi da l'errore? php o mysql?" perchè se te lo dava mysql allora avresti dovuto cercare nella query che hai scritto, mentre se te lo dava (come credo sia) php allora è un problema di come hai scritto le cose.

    in php funziona così per le stringhe:
    Codice PHP:
    <?PHP

    // Scritto su una sola riga
    $query "SELECT *, (sommafinale - versato) AS saldo FROM info WHERE utente = 'tizio'";


    // Per farti notare meglio la differenza meglio scriverlo su più righe
    $query "
       SELECT *, (sommafinale - versato) AS saldo 
       FROM info 
       WHERE utente = 'tizio'
    "
    ;

    ?>
    se noti la stringa $query si apre e si chiude con " e questo nel tuo codice non c'era...di conseguenza php ti da errore per come hai scritto le cose.
    Administrator of NAMDesign.Net

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    150
    uguale non mi restituisce alcun risultato....


    $query = " SELECT *, (sommafinale - versato) AS saldo FROM info WHERE utente = 'tizio' ";

  4. #4
    Ma non ti da più nessun errore?
    Administrator of NAMDesign.Net

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    150
    Originariamente inviato da LeaderGL
    Ma non ti da più nessun errore?

    no semplicemente mi restituisce la pagina senza alcun risultato...

    mentre con Mysql mi filtra il risultato...cioè mi resituisce "tizio"

    come da query...

    $query=select *, (sommafinale - versato) as Saldo from info where utente="tizio";

  6. #6
    se non ti da errori ora la query è ok. per il fatto che non ti mostri niente...c'è da qualche parte una echo/print che ti stampi il risultato?

    cioè:

    codice:
    $array = mysql_fetch_row($result);
    da solo non stampa niente....
    Administrator of NAMDesign.Net

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    150
    ti posto l'intero codice:


    include 'connect.php';

    $query=select *, (sommafinale - versato) as Saldo from info where utente="tizio";
    $result=mysql_query($query) or die("Non riesco ad eseguire la richiesta");
    $array = mysql_fetch_row($result);

    echo " <tr>";
    echo " <td><center> Utente:</center></td>";
    echo " <td><center> SommaFinale:</center></td>";
    echo " <td><center> Versato:</center></td>";
    echo " <td><center> Saldo:</center></td>";
    echo " </tr>";
    echo " <tr>";

    while($line = mysql_fetch_array ($result)){

    echo " <td><center>". $line["Utente"] . "</center></td>";
    echo " <td><center>". $line["SommaFinale"] . "</center></td>";
    echo " <td><center>". $line["Versato"] . "</center></td>";
    echo " <td><center>". $line["Saldo"] . "</center></td>";
    echo " </tr>";
    }

    mysql_close($connect);
    ?>

  8. #8
    Prova così:
    Codice PHP:
    include 'connect.php';

    $query=select *, (sommafinale versato) as Saldo from info where utente="tizio";
    $result=mysql_query($query) or die("Non riesco ad eseguire la richiesta");
        
    echo 
    "     <tr>";
    echo 
    "     <td><center> Utente:</center></td>";
    echo 
    "     <td><center> SommaFinale:</center></td>";
    echo 
    "     <td><center> Versato:</center></td>";
    echo 
    "     <td><center> Saldo:</center></td>";
    echo 
    "     </tr>";
    echo 
    "     <tr>";

        while(
    $line mysql_fetch_array ($result)){

            echo 
    "     <td><center>"$line["Utente"] . "</center></td>";
            echo 
    "     <td><center>"$line["SommaFinale"] . "</center></td>";
            echo 
    "     <td><center>"$line["Versato"] . "</center></td>";
            echo 
    "     <td><center>"$line["Saldo"] . "</center></td>";
            echo 
    "    </tr>";
        }    
        
    mysql_close($connect);
    ?> 
    ho solo eliminato "$array = mysql_fetch_row(..)" e questo perchè se il risultato è uno solo questa riga lo cattura e quindi nel successivo "while" non hai più risultati da scorrere...
    Administrator of NAMDesign.Net

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    150
    Grande!!! Funziona!

    Grazie LeaderGL

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