Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Errori Oracle

  1. #1

    Errori Oracle

    Ciao a tutti,

    L'istruzione ociparse non mi ritorna il valore FALSE anche se la query è errata. Di conseguenza non riesco a gestire l'eccezione per l'errore e lo script fallisce quando eseguo la query

    Cerco di spiegarmi meglio. Ho scritto il seguente codice
    ----------------------------------------------
    <connessione a db>
    $query = "select , from WEB_DETT_IV";
    $stmt = ociparse($conn, $query);
    echo "risultato parse: $stmt
    ";
    if (!$stmt) {
    $oerr = OCIError($stmt);
    echo "Fetch Code 1:".$oerr["message"];
    exit;
    }
    else
    ociexecute($stmt, OCI_DEFAULT);

    è questo mi ritorna
    ----------------------------------------------
    risultato parse: Resource id #5

    Warning: OCIStmtExecute: ORA-00936: missing expression in /export/home/pagani/www/DUMBO/PROVA.php on line 19
    finito

    Qualcuno ha qualche idea. Grazie in anticipo

  2. #2
    devi verificare anche l'esito della funzione ociexecute. Se guardi bene gli esempi proposti qui:
    http://it.php.net/manual/it/function.oci-error.php
    ti accorgerai che ad ogni chiamata di funzione sia possibile verificarne l'esito ed in caso questo sia negativo usare la funzione oci_error per ottenere maggiori informazioni sull'accaduto.


  3. #3
    grazie

    avevo provato anch'io in seguito a eseguire @ociexecute è quindi ocierror e finalmente sono riuscito a catturare l'eccezione.

    scusa ma non sono molto esperto (come del resto penso si posso capire) Ma ociparse() non dovrebbe fare un controllo formale sull'esattezza delle query?

    Dal sito www.php.net la spiegazione di ociparse è la seguente

    ociparse() analizza la query rispetto alla connessione conn. Restituisce un identificatore di istruzione se la query è valida, FALSE altrimenti.
    e di seguito era riportato un esempio:
    $stmt = OCIParse($conn, $query);
    if (!$stmt) {
    $oerr = OCIError($stmt);
    echo "Fetch Code 1:".$oerr["message"];
    exit;
    }

    quando è che fallisce Oci_parse?

    Ciao e grazie ancora

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.