Вставить журналы ошибок при регистрации ошибок в таблицу в PHP - PullRequest
2 голосов
/ 09 января 2020

Я изменяю систему, в которой мне нужно добавить журнал ошибок при сбоях регистрации, когда обнаружена существующая электронная почта, обнаружена существующая карта национального удостоверения личности (NI C) и при сбое капчи. Чтобы вставить записи журнала ошибок, собираемся использовать таблицу z_error_log. Я думаю, что это нужно сделать в части "else" файла Vendor_cont. php. В настоящее время это обеспечивает сообщение об ошибке, если используется существующее электронное письмо. Мне нужно отправить этот журнал ошибок в БД. Это код, и я очень ценю вашу помощь. Заранее спасибо. ================= Vendor.php ============

public function register_vendor(){
    //Function Body
}

======== Log_model .php ============

 public function createErrorLog($user,$function,$error_data,$data){

        $ip=$_SERVER['REMOTE_ADDR'];
        $browser_os=  $_SERVER['HTTP_USER_AGENT'];
    $data= (array) $data_obj;

    //print_r($data);

    if (is_array($data)) {
        $val = '(' . implode(',', array_keys($data)) . ')';
        $val .= '=(' . implode(',', $data) . ')';
    } else {
        $val = $data;
    }

    $oStmt= $this->oDb->prepare('INSERT INTO z_error_log (`row_id`,`user`,`ip`,`page`,`function`,`data`,`browser_os`) VALUES (:row_id,:user,:ip,:page,:function,:data,:browser_os)');
    $oStmt->bindParam(':row_id', $row_id, \PDO::PARAM_INT);
    $oStmt->bindParam(':user', $user, \PDO::PARAM_INT);
    $oStmt->bindParam(':ip', $ip, \PDO::PARAM_STR);
    $oStmt->bindParam(':page', $page1, \PDO::PARAM_STR);
    $oStmt->bindParam(':function', $page_url, \PDO::PARAM_STR);
    $oStmt->bindParam(':data', $val, \PDO::PARAM_STR);
    $oStmt->bindParam(':browser_os', $browser_os, \PDO::PARAM_STR);
    $oStmt->execute();

    return  $this->oDb->lastInsertId();
}

1 Ответ

0 голосов
/ 09 января 2020

В вашем коде нет блока try catch, но вы можете использовать его вот так

public function register_vendor(){
    try{
        //Your logic
    }catch(Exception $exception){
        //Then in here you can get the error message and save it into db
            echo $exception->getMessage();
            echo $exception->getLine();
            echo $exception->getCode();
    }
}
...