From c9423a2c34a5b93bf9cf2c506acca713781e60b6 Mon Sep 17 00:00:00 2001 From: Michael Save Date: Thu, 12 Apr 2012 02:49:22 +1000 Subject: large cleanup --- inc/database.php | 186 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 95 insertions(+), 91 deletions(-) (limited to 'inc/database.php') diff --git a/inc/database.php b/inc/database.php index b9338530..5e085b83 100644 --- a/inc/database.php +++ b/inc/database.php @@ -1,107 +1,111 @@ query = $pdo->prepare($query); - } - public function __call($function, $args) { - global $config, $debug; - - if($config['debug'] && $function == 'execute') { - $start = microtime(true); - } - - $return = call_user_func_array(Array($this->query, $function), $args); - - if($config['debug'] && $function == 'execute') { - $time = round((microtime(true) - $start) * 1000, 2) . 'ms'; - - $debug['sql'][] = Array( - 'query' => $this->query->queryString, - 'rows' => $this->query->rowCount(), - 'time' => '~' . $time - ); - } - - return $return; - } + $this->query = $pdo->prepare($query); } - - function sql_open() { - global $pdo, $config; - if($pdo) return true; + public function __call($function, $args) { + global $config, $debug; - $dsn = $config['db']['type'] . ':host=' . $config['db']['server'] . ';dbname=' . $config['db']['database']; - if(!empty($config['db']['dsn'])) - $dsn .= ';' . $config['db']['dsn']; - try { - $options = Array(PDO::ATTR_TIMEOUT => $config['db']['timeout']); - $options = Array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); - if($config['db']['persistent']) - $options[PDO::ATTR_PERSISTENT] = true; - return $pdo = new PDO($dsn, $config['db']['user'], $config['db']['password'], $options); - } catch(PDOException $e) { - $message = $e->getMessage(); - - // Remove any sensitive information - $message = str_replace($config['db']['user'], 'hidden', $message); - $message = str_replace($config['db']['password'], 'hidden', $message); - - // Print error - error('Database error: ' . $message); + if($config['debug'] && $function == 'execute') { + $start = microtime(true); } - } - - function prepare($query) { - global $pdo, $debug, $config; - - sql_open(); - if($config['debug']) - return new PreparedQueryDebug($query); - return $pdo->prepare($query); - } - - function query($query) { - global $pdo, $debug, $config; + $return = call_user_func_array(array($this->query, $function), $args); - sql_open(); - - if($config['debug']) { - $start = microtime(true); - $query = $pdo->query($query); - if(!$query) - return false; + if($config['debug'] && $function == 'execute') { $time = round((microtime(true) - $start) * 1000, 2) . 'ms'; + $debug['sql'][] = Array( - 'query' => $query->queryString, - 'rows' => $query->rowCount(), + 'query' => $this->query->queryString, + 'rows' => $this->query->rowCount(), 'time' => '~' . $time ); - return $query; - } else { - return $pdo->query($query); } + + return $return; } +} + +function sql_open() { + global $pdo, $config; + if($pdo) return true; - function db_error($PDOStatement=null) { - global $pdo; - if(isset($PDOStatement)) { - $err = $PDOStatement->errorInfo(); - return $err[2]; - } else { - $err = $pdo->errorInfo(); - return $err[2]; - } + $dsn = $config['db']['type'] . ':host=' . $config['db']['server'] . ';dbname=' . $config['db']['database']; + if(!empty($config['db']['dsn'])) + $dsn .= ';' . $config['db']['dsn']; + try { + $options = Array(PDO::ATTR_TIMEOUT => $config['db']['timeout']); + $options = Array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); + if($config['db']['persistent']) + $options[PDO::ATTR_PERSISTENT] = true; + return $pdo = new PDO($dsn, $config['db']['user'], $config['db']['password'], $options); + } catch(PDOException $e) { + $message = $e->getMessage(); + + // Remove any sensitive information + $message = str_replace($config['db']['user'], 'hidden', $message); + $message = str_replace($config['db']['password'], 'hidden', $message); + + // Print error + error('Database error: ' . $message); + } +} + +function prepare($query) { + global $pdo, $debug, $config; + + sql_open(); + + if($config['debug']) + return new PreparedQueryDebug($query); + return $pdo->prepare($query); +} + +function query($query) { + global $pdo, $debug, $config; + + sql_open(); + + if($config['debug']) { + $start = microtime(true); + $query = $pdo->query($query); + if(!$query) + return false; + $time = round((microtime(true) - $start) * 1000, 2) . 'ms'; + $debug['sql'][] = Array( + 'query' => $query->queryString, + 'rows' => $query->rowCount(), + 'time' => '~' . $time + ); + return $query; + } else { + return $pdo->query($query); + } +} + +function db_error($PDOStatement=null) { + global $pdo; + if(isset($PDOStatement)) { + $err = $PDOStatement->errorInfo(); + return $err[2]; + } else { + $err = $pdo->errorInfo(); + return $err[2]; } -?> +} + -- cgit v1.3