Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Funzionamento di or die("Query fallita: " . mysql_error());

    Ciao a tutti, il comando

    $result = mysql_query($query) or die("Query fallita: " . mysql_error());


    oltre ad interrompere l'eventuale query visualizza a video l'errore oppure lo salva in $result?


    lo chiedo perchè io vorrei fare una cosa del tipo:

    $result = mysql_query($query) or 'Error';

    in modo che qualora ci fosse un errore, $result contenga il messaggio 'Error'



    Altro dubbio, partendo da una struttura del tipo:

    $result = mysql_query($query) or die("Query fallita: " . mysql_error());

    come potrei, in caso di errore, salvare in $result il messaggio 'Error' ma allo stesso tempo salvare in un log (esempio file txt) l'errore l'effettivo mysql_error() generato?

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Invece di usare die() che termina l'esecuzione in ogni caso, puoi fare così
    Codice PHP:
    $result mysql_query($query);

    if(!
    $result)
    {
        
    //qui il codice che ti gestisce l'errore sulla query
    }
    else
    {
        
    //qui il codice che ti gestisce il successo della query


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    quindi !$result non sarebbe valorizzata in caso di errore??

    Dovrei quindi prima fare un controllo !$result e poi una seconda if

    if (mysql_num_rows($result)==0) {

    ??

    in quanto oltre a sapere se la query ha avuto errori devo anche sapere se non ha avuto errori ma non ha ottenuto risultati.

    Corretto?

    Grazie

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se devi distinguere anche il caso di 0 record, allora si, devi mettere anche il mysql_num_rows(), va dentro l'else.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Che è praticamente quello che ho scritto io


    prima controllo il !$result

    e poi

    if (mysql_num_rows($result)==0) {


    corretto?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Potresti fare una cosa così
    Codice PHP:
    $result mysql_query($query);

    if(!
    $result)
    {
        
    //qui il codice che ti gestisce l'errore sulla query
    }
    else if(
    mysql_num_rows($result) == 0)
    {
        
    //qui il codice che ti gestisce il successo della query con 0 risultati
    }
    else if(
    mysql_num_rows($result) > 0)
    {
        
    //qui il codice che ti gestisce il successo della query con più risultati


  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie per l'aiuto

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.