Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace yellowheroes\app\system\libs;
- use \PDO;
- /**
- * Class DbConnect
- *
- * @author Yellow Heroes <admin@yellowheroes.com>
- * @license MIT License
- * @copyright Yellow Heroes, 2019
- *
- */
- class DbConnect
- {
- /**
- * a PDO object to run queries
- *
- * @var \PDO
- */
- public $pdo;
- /**
- * Connect to a MySQL database (MySQL, SQLite...) through PDO
- *
- * @param string $type - 'mysql' or 'sqlite'
- * @param string $dbName - database name
- * @param string $host - host name
- * @param string $user - user name
- * @param string $passWord - password
- *
- * @return void
- */
- /** we set defaults: type 'mysql', host 'localhost', user 'root', passWord ''
- * so in most cases (where we'd use MySQL), we only have to set database name
- */
- public function __construct($dbName = null, $type = 'mysql', $host = 'localhost', $user = '', $passWord = null)
- {
- $dsn = '';
- switch ($type) {
- case "mysql":
- if (!empty($host) && !empty($user) && isset($passWord)) {
- $dsn = $type . ':dbname=' . $dbName . ';host=' . $host;
- } else {
- echo 'error connecting to database';
- die();
- }
- break;
- case "sqlite":
- if (!empty($dbName)) {
- // format $dsn - $type:$dbName
- // i.e. $type = "sqlite";
- // i.e. $dbName = /somedir/databases/mydb.sq3 (PATH to database)
- // i.e. $dsn = "sqlite:/somedir/databases/mydb.sq3";
- $dsn = $type . ':' . $dbName;
- } else {
- echo 'error connecting to database';
- die();
- }
- break;
- }
- try {
- $this->pdo = new PDO($dsn, $user, $passWord);
- } catch (PDOException $e) {
- echo 'Connection failed: ' . $e->getMessage();
- }
- }
- }
Add Comment
Please, Sign In to add comment