Visualizzazione dei risultati da 1 a 9 su 9

Discussione: PDO e eccezioni

  1. #1

    PDO e eccezioni

    Sto usando il PDO con driver per database SQLite3. Veramente forte, soprattutto per quanto riguarda l'indipendenza dal database.
    Però c'è qualcosa che non va per quanto riguarda le eccezioni.

    In pratica non sembrano funzionare. Se scrivo una query con un errori di sintassi non viene segnalato nessun errore. Non capisco se è un problema di configurazione del server apache o sono le eccezioni di PDO che non funzionano.

    Inoltre se faccio

    codice:
    setAttribute($this->dbh->ATTR_ERRMODE ,$this->dbh->ERRMODE_EXCEPTION );
    Ottengo questto errore:

    The auto-commit mode cannot be changed for this driver

    ??????

    E chi vuole cambiare l'auto-commit mode!!?? Voglio solo abilitare le eccezioni!!

    Dove sbaglio?
    Sei di Rimini e hai una moto? Vieni su www.motorn.it

  2. #2

    Re: PDO e eccezioni

    Originariamente inviato da Mercurio
    Se scrivo una query con un errori di sintassi non viene segnalato nessun errore.
    provato con
    print_r($this->dbh->errorInfo());
    ???

    Originariamente inviato da Mercurio
    codice:
    setAttribute($this->dbh->ATTR_ERRMODE ,$this->dbh->ERRMODE_EXCEPTION );
    Ottengo questto errore:

    The auto-commit mode cannot be changed for this driver
    per le costanti meglio usare
    PDO::ATTR_ERRMODE
    per esempio .. ma occhio al setAttribute, non va allo stesso modo con tutti i drivers
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Ho fatto ulteriori prove usando questo codice:

    codice:
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    Allora sotto winzoz con Apache/2.0.55 e PHP/5.1.1 non ho problemi. Le eccezioni vengono "catchate" regolarmente.

    Sotto Linux (Fedora Core4 ) con Apache/2.0.54 e PHP 5.0.4 ottengo questo errore:

    codice:
    Fatal error: Undefined class constant 'ATTR_ERRMODE'
    Pare che non riconosca gli attributi. Da cosa può dipendere??
    Sei di Rimini e hai una moto? Vieni su www.motorn.it

  4. #4
    Originariamente inviato da Mercurio
    Sotto Linux (Fedora Core4 ) con Apache/2.0.54 e PHP 5.0.4 ottengo questo errore:
    ...
    ehm ... PDO c'e' dalla versione 5.1 di PHP e non prima, se non installata a parte su versione non molto aggiornata ..
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Si possono installare separatamente i moduli. Php5.1 ancora non è stabile e sotto linux ho la 5.0.4 (tra l'altro anche volendo dal repository ufficiale Fedora la 5.1 non è nemmeno disponibile).

    Boh..a sto punto mi sa che è colpa del pacchetto PDO installato sotto Linux
    Sei di Rimini e hai una moto? Vieni su www.motorn.it

  6. #6
    Originariamente inviato da Mercurio
    Si possono installare separatamente i moduli.
    si ma quelli per la 5.0.4 non sono quelli aggiornati ... o almeno tu non li hai


    Originariamente inviato da Mercurio
    Php5.1 ancora non è stabile è sotto linux ho la 5.0.4 (tra l'altro anche volendo dal repository ufficiale Fedora la 5.1 non è nemmeno disponibile).
    io ho un host con una Fedora e PHP 5.1.1 ... dici che è grave ? :master:


    Originariamente inviato da Mercurio
    Boh..a sto punto mi sa che è colpa del pacchetto PDO installato sotto Linux
    si, credo anche io
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Ho controllato sotto Fedora con "PEAR list-all" e PDO risulta presente all'ultima versione e cioè 1.0.2
    Sei di Rimini e hai una moto? Vieni su www.motorn.it

  8. #8
    Scusa ho detto una ca**ata...doveo fare "PEAR list".

    Come faccio a installare un modulo pecl se non ci sono gli RPM?
    Sei di Rimini e hai una moto? Vieni su www.motorn.it

  9. #9
    Ok...sistemato tutto..bastava aggiornare pdo e pdo_sqlite all'ultima versione


    Grazie per il supporto
    Sei di Rimini e hai una moto? Vieni su www.motorn.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.