Bir PHP web hizmeti ölümcül hataları ve DB durumları görmezden

0 Cevap php

Ben JSON sonuç döndürür PHP ile yazılmış bir web hizmeti var. Bu iyi çalışıyor ve iyice test edilmiştir.

Ben (denilen ve) servis çağrılarına günlüğü eklemek gerekiyordu. Ben ve PDO (çok küçük veri miktarı için) bir SQLite veritabanı kullanarak bu hayata. Tomrukçulukla bir durum bu web servisini kendisi zarar vermemesi gerektiğini oldu. Ben onun çağrısına oturum olduğumu gerçeği kullanıcıya önemli olmamalı, ne de günlük süreçte herhangi bir hata herhangi bir hizmet çağrıyı engellemek gerekir.

Ben bir günlük sınıf ve SQL dizeleri beklediğini bir "yürütme" fonksiyonu hayata:

    function __construct() {
        $this->dbConn = 'sqlite:' . realpath("myLog.sqlite");
        try {
            $this->db = new PDO($this->dbConn);
        }
        catch (PDOException $e) {
            //I don't care
        }
    }

    private function execute($sql) {
        try {
            $query = $this->db->prepare($sql);
            $query->execute();  
        }
        catch(Exception $e) {
            //I don't care
        }
    }

Ben o zaman her hizmeti fonksiyonu buna benzer bir çağrı sonunda ekledi:

$sql = "INSERT INTO $table(id, Time) VALUES('$id', datetime('now','localtime'))";
$this->execute($sql);

$jsonResult = doSomething($id);
return $jsonReuslt;

Sorun: zaman zaman, ben, bir nesne değil diyerek ($query->execute() bu hattı bize göstererek) ölümcül bir hata dizesini içeren istemci üzerinde bir dize olsun.

Tüm durumlarda şimdiye kadar, ben hatalı bir SQL sorgusu için takip. Ama ne gerek orijinal json bir hata günlüğü fonksiyonu olsa bile geri alır emin olmak için bir yoldur.

$ JsonResult gerçek JSON sonuçlar ile geri dönecektir - Ben nasıl $this->execute($sql) çağırdığınızda ne olur olursa olsun emin olabilirim?

TIA,
Guy

0 Cevap