Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    [PHP] Intercettare un errore

    Ciao

    ho una query che va a scrivere in una tabella. C'è la possibilità che uno dei campi (codice) esista già. In questo caso, ora, il programma mi dà il classico errore

    Duplicate entry '915022OM' for key 1


    E' possbile intercettare l'errore in modo da cambiare il messaggio che compare ? Ad esempio se capita quell'errore io vorrei che comparisse un messaggio del tipo:
    Attenzione, il codice esiste gia. Impossibile continuare

    O qualcosa del genere. Grazie !
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    potresti evitare di stampare l'errore (magari anteponendo @ al mysql_query ) e utilizzare mysql_affected_rows per vedere se l'inserimento è andato a buon fine oppure no

    mysql_affected_rows() restituisce il numero di righe coinvolte nell'ultima query INSERT, UPDATE o DELETE associata a identificativo_connessione. Se l'identificativo di connessione non è specificato, viene considerata l'ultima connessione aperta con mysql_connect().

    link mysql_affected_rows

  3. #3
    tu puoi fare:

    Codice PHP:
    mysql_query($query) or die(mysql_error()); 
    la butto li, ma non so se funziona:

    Codice PHP:
    function get_error($errore){
    if (
    errore inizia con "Duplicate entry"){
    return 
    "codice doppio"
    }

    mysql_query($query) or die(get_error(mysql_error()));

    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Non sono sicuro di avere capito cosa intendi .Mi puoi fare un esempio pratico ?
    Questo è il mio codice ( moooooooolto standard).


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


    Come posso modificarlo ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  5. #5
    dai il risultato di mysql_error() in pasto ad una funzione che ti restituisce l'errore descritto come vuoi te, in base al parametro che riceve (che è il risultato di mysql_error())
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  6. #6
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ho fatto cosi

    $result = mysql_query($query) ;
    if ( mysql_errno () == 1062)
    echo "

    </p><center>Attenzione , il codice esiste già. Impossibile continuare !</center>";

    E cosi funziona !

    Grazie
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  7. #7
    non sapevo di questa cosa!

    il tuo metodo è sicuramente migliore e più pulito!

    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.