diff options
Diffstat (limited to 'inc/database.php')
| -rw-r--r-- | inc/database.php | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/inc/database.php b/inc/database.php index 88ca1c0d..3dea39cb 100644 --- a/inc/database.php +++ b/inc/database.php @@ -13,6 +13,9 @@ if(!empty($config['db']['dsn'])) $dsn .= ';' . $config['db']['dsn']; try { + $options = Array(PDO::ATTR_TIMEOUT => $config['db']['timeout']); + if($config['db']['persistent']) + $options[PDO::ATTR_PERSISTENT] = true; return $pdo = new PDO($dsn, $config['db']['user'], $config['db']['password']); } catch(PDOException $e) { $message = $e->getMessage(); @@ -27,17 +30,22 @@ } function sql_close() { - global $pdo; - $pdo = NULL; + global $pdo, $config; + if(!$config['db']['persistent']) + $pdo = NULL; } function prepare($query) { global $pdo; + + sql_open(); return $pdo->prepare($query); } function query($query) { global $pdo; + + sql_open(); return $pdo->query($query); } |
