Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    2

    aiutate un neo-programmatore

    ragazzi un aiuto....
    quando nel compiere un operazione su mysql tramite php, il database restituisce un errore tipo 1062-diplicazione di chiave... come faccio a catturarlo e a dare io un messaggio a video?

    inoltre in php esiste la classe SQLException per le eccezioni di sql sempre inerenti a mysql?

    grazie mille

  2. #2
    leggi il regolamento e la prossima volta apri la discussione con un titolo a norma, per questa volta lo cambio io ma in futuro i messaggi saranno chiusi

    per il tuo problema usa mysql_error() per stampare a video l'errore oppure creati una classe per gestirli

    ciao

  3. #3
    Aggiungo... in base alle esigenze potrebbe essere utile eseguire prima una SELECT per verificare la presenza del record e poi, se la query è vuota, procedere.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    18
    In effetti lo stesso dilemma me lo pongo anchio molte volte.
    E' più performante eseguire una select per rintracciare un'evetuale duplicazione di chiave nel record che sto per inserire e quindi non inserirlo, oppure gestire l'errore sollevato da mysql di duplicazione?? :berto:

    Forse è uguale in quanto la ricerca sulla chiave è indicizzata e rapida, e suppongo che in maniera non trasparente il motore MYSQL faccia proprio questo prima di sollevare l'eccezione.


    Ciao.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Io sono sempre dell'idea che concettualmente un "eccezione" è un errore non previsto (anche se so che non è l'unico punto di vista), come la mancata connessione al database o un errata sintassi di una query
    La situazione di cui parli è per me assolutamente prevedibile e quindi gestibile senza scomodare le eccezioni

  6. #6
    Originariamente inviato da Leilond
    Io sono sempre dell'idea che concettualmente un "eccezione" è un errore non previsto (anche se so che non è l'unico punto di vista), come la mancata connessione al database o un errata sintassi di una query
    La situazione di cui parli è per me assolutamente prevedibile e quindi gestibile senza scomodare le eccezioni
    Concordo.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    18
    Sono pienamente daccordo.
    Il mio dubbio nasce dal fatto che se l'eccezione sollevata da MYSQL deriva da una select che il motore stesso di MYSQL esegue sulla chiave impostata, allora la mia select diventa un doppione, inutile e diminutivo in termini di performance.

    Ciao.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Questione di scelta
    Una select su una chiave primaria confrontata con una costante solitamente è trascurabile dal punto di vista delle "performance"

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    2
    ragazzi tutto questo lo so...credetemi in basi di dati sono abbastanza bravo...io volevo sapere come si faceva a catturare l'errore di mysql e se esiste una classe sqlException per usare il try e il catch più rapidamente...tutto qui

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