Created
February 13, 2017 07:22
-
-
Save jkga/9984f1eebde2ec20ca51018809b2d311 to your computer and use it in GitHub Desktop.
A PHP wrapper to connect to different databases using PHP Data Objects extension (PDO) ex. mysql, mysqli, postgressSQL
This file contains 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 | |
class DBCON{ | |
/** | |
*initialize all the components for database | |
* | |
*allow you to construct parallel database session using different dbms like mysql,pgsql etc. | |
* | |
*@param string $db_ini_dbms set your current database management system | |
*@param string $db_ini_host set your host ex.127.0.0.1 | |
*@param string $db_ini_username set your username ex. root | |
*@param string $db_ini_password set your password default empty | |
*@param string $db_ini_dbname set your database name default empty | |
*@param string $db_ini_port set your :port default empty | |
*@return PDO | |
*/ | |
function __construct($db_ini_dbms,$db_ini_host,$db_ini_username,$db_ini_password=NULL,$db_ini_dbname='',$db_ini_port=''){ | |
#pdo instance | |
$this->pdo=null; | |
#check for different dbms and catch errors for all exceptions | |
try{ | |
switch ($db_ini_dbms) { | |
case 'mysql': | |
#mysql | |
$this->pdo=new PDO($db_ini_dbms.':host='.$db_ini_host.((!empty($db_ini_port)) ? (';port=' . $db_ini_port) : '').';dbname='.$db_ini_dbname,$db_ini_username,$db_ini_password); | |
break; | |
case 'mysqli': | |
#mysqli | |
mysqli_report(MYSQLI_REPORT_STRICT); | |
$this->pdo=new mysqli($db_ini_host,$db_ini_username,$db_ini_password,$db_ini_dbname); | |
break; | |
case 'pgsql': | |
#postgress | |
$this->pdo=new PDO($db_ini_dbms.':host='.$db_ini_host.((!empty($db_ini_port)) ? (';port=' . $db_ini_port) : '').';dbname='.$db_ini_dbname.';user='.$db_ini_username.';password='.$db_ini_password); | |
break; | |
default: | |
# code... | |
break; | |
} | |
}catch(Exception $e){ echo "error has occured.Please try to refresh the page"; } | |
return $this->pdo; | |
} | |
function __toString(){ | |
return 'status:connected'; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment