Skip to content

Instantly share code, notes, and snippets.

@diewland
Last active July 8, 2017 08:51
Show Gist options
  • Save diewland/e72206f7dc37711a6694eab375c9697f to your computer and use it in GitHub Desktop.
Save diewland/e72206f7dc37711a6694eab375c9697f to your computer and use it in GitHub Desktop.
$pdo helper class
<?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