Last active
July 8, 2017 08:51
-
-
Save diewland/e72206f7dc37711a6694eab375c9697f to your computer and use it in GitHub Desktop.
$pdo helper class
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php // require initialize $pdo from outside | |
class EzDb { | |
// init pdo function | |
public static function init_pdo($host, $db_name, $user, $pass){ | |
global $pdo; | |
return new PDO( | |
"mysql:host=$host;dbname=$db_name;charset=utf8", | |
$user, | |
$pass, | |
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") | |
); | |
} | |
// execute, fetch functions | |
public static function exec($sql, $params=array(), $die_flag=False){ | |
global $pdo; | |
$stm = $pdo->prepare($sql); | |
$result = $stm->execute($params); | |
if($result){ | |
return array( | |
'success' => true, | |
); | |
} | |
else { | |
if($die_flag){ | |
die(self::extract_err($stm)); | |
} | |
return array( | |
'success' => false, | |
'error' => self::extract_err($stm), | |
); | |
} | |
} | |
public static function fetchAll($sql, $params=array(), $die_flag=False){ | |
global $pdo; | |
$stm = $pdo->prepare($sql); | |
$result = $stm->execute($params); | |
if($result){ | |
return array( | |
'success' => true, | |
'data' => $stm->fetchAll(PDO::FETCH_ASSOC), | |
); | |
} | |
else { | |
if($die_flag){ | |
die(self::extract_err($stm)); | |
} | |
return array( | |
'success' => false, | |
'error' => self::extract_err($stm), | |
); | |
} | |
} | |
public static function fetch($sql, $params=array(), $die_flag=False){ | |
global $pdo; | |
$stm = $pdo->prepare($sql); | |
$result = $stm->execute($params); | |
if($result){ | |
return array( | |
'success' => true, | |
'data' => $stm->fetch(PDO::FETCH_ASSOC), | |
); | |
} | |
else { | |
if($die_flag){ | |
die(self::extract_err($stm)); | |
} | |
return array( | |
'success' => false, | |
'error' => self::extract_err($stm), | |
); | |
} | |
} | |
// utility function | |
function extract_err($stm){ | |
return print_r($stm->errorInfo(), true); | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment