El RIDO 5 лет назад
Родитель
Сommit
078c5785dd
2 измененных файлов с 17 добавлено и 10 удалено
  1. 16 10
      lib/Data/Database.php
  2. 1 0
      tst/ModelTest.php

+ 16 - 10
lib/Data/Database.php

@@ -233,11 +233,14 @@ class Database extends AbstractData
         }
 
         self::$_cache[$pasteid] = false;
-        $paste                  = self::_select(
-            'SELECT * FROM ' . self::_sanitizeIdentifier('paste') .
-            ' WHERE dataid = ?', array($pasteid), true
-        );
-
+        try {
+            $paste                  = self::_select(
+                'SELECT * FROM ' . self::_sanitizeIdentifier('paste') .
+                ' WHERE dataid = ?', array($pasteid), true
+            );
+        } catch (Exception $e) {
+            $paste = false;
+        }
         if ($paste === false) {
             return false;
         }
@@ -643,15 +646,18 @@ class Database extends AbstractData
      * @access private
      * @static
      * @param  string $key
-     * @throws PDOException
      * @return string
      */
     private static function _getConfig($key)
     {
-        $row = self::_select(
-            'SELECT value FROM ' . self::_sanitizeIdentifier('config') .
-            ' WHERE id = ?', array($key), true
-        );
+        try {
+            $row = self::_select(
+                'SELECT value FROM ' . self::_sanitizeIdentifier('config') .
+                ' WHERE id = ?', array($key), true
+            );
+        } catch (PDOException $e) {
+            return '';
+        }
         return $row ? $row['value'] : '';
     }
 

+ 1 - 0
tst/ModelTest.php

@@ -259,6 +259,7 @@ class ModelTest extends PHPUnit_Framework_TestCase
         $paste = $model->getPaste();
         $paste->setData($pasteData);
         $paste->store();
+        $paste->exists();
 
         $db = new PDO(
             $options['model_options']['dsn'],