PDO DataConnection
class pdodb{
var $conn;
private $host;
private $user;
private $pass;
private $dbname;
var $last_query;
function __construct(){
$this->host=DB_SERVER;
$this->user=DB_USERNAME;
$this->pass=DB_PASSWORD;
$this->dbname=DB_SCHEMA;
$this->connect();
}
function connect(){
$dsn='mysql:host='.$this->host.';dbname='.$this->dbname;
try{
$this->conn=new PDO($dsn,$this->user,$this->pass);
}catch(PDOException $e){
echo $e->getMessage();
exit;
}
return true;
}
function select($sql){
$this->last_query=$sql;
$r=$this->conn->prepare($sql);
$r->execute();
return $r;
}
function getResults($sql){
$result=$this->select($sql);
$data=$this->getRows($result);
if(!data){
return 404;
}
return $data;
}
function getResult($sql){
$result=$this->select($sql);
$data=$this->getRow($result);
//echo $data;exit;
if($data==''){
return 404;
}
return $data;
}
function getRow($result){
$row = $result->fetch(PDO::FETCH_ASSOC);
return $row;
}
function getRows($result){
$rows=$result->fetchAll(PDO::FETCH_ASSOC);
return $rows;
}
function insertByArray($table, $data){
//pr($data);exit;
$cols = '(' . implode(", ", array_keys($data)) . ')';
//pr($cols);exit;
$new_data = array();
foreach ($data as $key => $value) { // iterate values to input
$k = ":$key";
$new_data[$k] = $value;
}
$values = '(' . implode(", ", array_keys($new_data)) . ')';
$sql = "INSERT INTO $table $cols VALUES $values";
return $this->insertRow($sql, $new_data);
}
function insertRow($sql,$data){
$this->last_query = $sql;
$this->table_data = $data;
try {
$r = $this->conn->prepare($sql);
$r->execute($data);
} catch (PDOException $e) {
$this->last_error = $e->getMessage();
$this->printLastError();
return false;
}
$this->last_insert_id = $this->conn->lastInsertId();
return $this->last_insert_id;
}
function updateByArray($table, $data, $condition){
$new_data = array();
$sql = "UPDATE $table SET";
foreach ($data as $key => $value) { // iterate values to input
$k = ":$key";
$new_data[$k] = $value;
$sql .= " $key=:$key,";
//$sql .= ":$key,";
}
//echo $sql;exit;
$sql = rtrim($sql, ','); // strip off last "extra" comma
if (!empty($condition)) $sql .= " WHERE $condition";
return $this->updateRow($sql, $new_data);
}
function updateRow($sql,$data){
$r = $this->conn->prepare($sql);
$r->execute($data);
$rows = $r->rowCount();
return $rows;
}
}
?>
var $conn;
private $host;
private $user;
private $pass;
private $dbname;
var $last_query;
function __construct(){
$this->host=DB_SERVER;
$this->user=DB_USERNAME;
$this->pass=DB_PASSWORD;
$this->dbname=DB_SCHEMA;
$this->connect();
}
function connect(){
$dsn='mysql:host='.$this->host.';dbname='.$this->dbname;
try{
$this->conn=new PDO($dsn,$this->user,$this->pass);
}catch(PDOException $e){
echo $e->getMessage();
exit;
}
return true;
}
function select($sql){
$this->last_query=$sql;
$r=$this->conn->prepare($sql);
$r->execute();
return $r;
}
function getResults($sql){
$result=$this->select($sql);
$data=$this->getRows($result);
if(!data){
return 404;
}
return $data;
}
function getResult($sql){
$result=$this->select($sql);
$data=$this->getRow($result);
//echo $data;exit;
if($data==''){
return 404;
}
return $data;
}
function getRow($result){
$row = $result->fetch(PDO::FETCH_ASSOC);
return $row;
}
function getRows($result){
$rows=$result->fetchAll(PDO::FETCH_ASSOC);
return $rows;
}
function insertByArray($table, $data){
//pr($data);exit;
$cols = '(' . implode(", ", array_keys($data)) . ')';
//pr($cols);exit;
$new_data = array();
foreach ($data as $key => $value) { // iterate values to input
$k = ":$key";
$new_data[$k] = $value;
}
$values = '(' . implode(", ", array_keys($new_data)) . ')';
$sql = "INSERT INTO $table $cols VALUES $values";
return $this->insertRow($sql, $new_data);
}
function insertRow($sql,$data){
$this->last_query = $sql;
$this->table_data = $data;
try {
$r = $this->conn->prepare($sql);
$r->execute($data);
} catch (PDOException $e) {
$this->last_error = $e->getMessage();
$this->printLastError();
return false;
}
$this->last_insert_id = $this->conn->lastInsertId();
return $this->last_insert_id;
}
function updateByArray($table, $data, $condition){
$new_data = array();
$sql = "UPDATE $table SET";
foreach ($data as $key => $value) { // iterate values to input
$k = ":$key";
$new_data[$k] = $value;
$sql .= " $key=:$key,";
//$sql .= ":$key,";
}
//echo $sql;exit;
$sql = rtrim($sql, ','); // strip off last "extra" comma
if (!empty($condition)) $sql .= " WHERE $condition";
return $this->updateRow($sql, $new_data);
}
function updateRow($sql,$data){
$r = $this->conn->prepare($sql);
$r->execute($data);
$rows = $r->rowCount();
return $rows;
}
}
?>
Comments
Post a Comment