Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249

    Intercetto degli errori: MySQL

    Vorrei intercettare gli errori, quando sono presenti, dal codice sottostante, dove $sql è la query che gli passo nei vari file e $fetch è un valore booleano che permette di eseguire la fetch solo in alcuni file:
    codice:
    public function execute($sql, $execute, $fetch) {
            $exe = new Database();
            $pdo = $exe->connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql;
            $q = $pdo->prepare($sql);
            $q->execute($execute);
            if ($fetch) {
                global $data;
                $data = $q->fetch(PDO::FETCH_ASSOC);
            }
            $exe->disconnect();
        }
    }
    PS Uso PHP 5.x...
    Ultima modifica di mapa3n; 29-05-2015 a 10:55

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Se hai PDO::ERRMODE_EXCEPTION devi utilizzare un try-catch quando prepari ed esegui

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249
    Quote Originariamente inviata da RoTeam Visualizza il messaggio
    Se hai PDO::ERRMODE_EXCEPTION devi utilizzare un try-catch quando prepari ed esegui
    ...è coretto?
    codice:
    public function execute($sql, $execute, $fetch) {
            $exe = new Database();
            $pdo = $exe->connect();
            try {
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $sql;
                //mysql_error();
                $q = $pdo->prepare($sql);
                $q->execute($execute);
                if ($fetch) {
                    global $data;
                    $data = $q->fetch(PDO::FETCH_ASSOC);
                }
                $exe->disconnect();
            } catch (PDOException $e) {
                die($e->getMessage());
            } 
        }
    ...o nella funzione die() devo "inserire" mysql_error()?

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.