From 4ac2d6ac4e2491b133e40456574717b51207767f Mon Sep 17 00:00:00 2001 From: James <james@sourcefabric-DX4840.(none)> Date: Wed, 5 Sep 2012 15:59:15 -0400 Subject: [PATCH 1/2] CC-4346: Prepared statements - part 2 - adding common function to prepare param to PDO statement and excute. --- airtime_mvc/application/common/Database.php | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 airtime_mvc/application/common/Database.php diff --git a/airtime_mvc/application/common/Database.php b/airtime_mvc/application/common/Database.php new file mode 100644 index 000000000..0f15b204e --- /dev/null +++ b/airtime_mvc/application/common/Database.php @@ -0,0 +1,24 @@ +<?php +class Application_Common_Database{ + public static function prepareAndExcute($sql, $paramValueMap, $type='all'){ + $con = Propel::getConnection(); + $stmt = $con->prepare($sql); + foreach ($paramValueMap as $param => $v) { + $stmt->bindValue($param, $v); + } + $rows = array(); + if ($stmt->execute()) { + if ($type == 'single') { + $rows = $stmt->fetch(PDO::FETCH_ASSOC); + } else if ($type == 'column'){ + $rows = $stmt->fetchColumn(); + } else { + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + } + } else { + $msg = implode(',', $stmt->errorInfo()); + throw new Exception("Error: $msg"); + } + return $rows; + } +} \ No newline at end of file From 326ba012c14a5f76a80b29f2139a6dc4256c9f07 Mon Sep 17 00:00:00 2001 From: James <james@sourcefabric-DX4840.(none)> Date: Wed, 5 Sep 2012 16:14:08 -0400 Subject: [PATCH 2/2] CC-4346: Prepared statements - part 2 - CRLF - adding include in bootstrap --- airtime_mvc/application/Bootstrap.php | 1 + airtime_mvc/application/common/Database.php | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 04c9e7841..dc4776ee5 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -19,6 +19,7 @@ require_once __DIR__."/configs/constants.php"; require_once 'Preference.php'; require_once "DateHelper.php"; require_once "OsPath.php"; +require_once "Database.php"; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; diff --git a/airtime_mvc/application/common/Database.php b/airtime_mvc/application/common/Database.php index 0f15b204e..96e6e6770 100644 --- a/airtime_mvc/application/common/Database.php +++ b/airtime_mvc/application/common/Database.php @@ -1,12 +1,12 @@ <?php class Application_Common_Database{ public static function prepareAndExcute($sql, $paramValueMap, $type='all'){ - $con = Propel::getConnection(); + $con = Propel::getConnection(); $stmt = $con->prepare($sql); foreach ($paramValueMap as $param => $v) { $stmt->bindValue($param, $v); } - $rows = array(); + $rows = array(); if ($stmt->execute()) { if ($type == 'single') { $rows = $stmt->fetch(PDO::FETCH_ASSOC); @@ -14,10 +14,10 @@ class Application_Common_Database{ $rows = $stmt->fetchColumn(); } else { $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); - } - } else { - $msg = implode(',', $stmt->errorInfo()); - throw new Exception("Error: $msg"); + } + } else { + $msg = implode(',', $stmt->errorInfo()); + throw new Exception("Error: $msg"); } return $rows; }