a basic Class for PHP mySQL PDO

8:25 AM 2/23/2019

constants.php

const DB_HOST		= 'localhost'; //or an ipv4 address
const DB_NAME		= 'my-database-name';
const DB_USER		= 'my-database-username';
const DB_PASS		= 'my-database-password';
const DB_CHARSET	= 'utf8';
const DB_TABLE		= 'my-database-tablename';
//etc etc ...
		

db.php

require_once 'constants.php';

class DB{
	public $conn;
	public $stmt;

	public function __construct(){
		$dsn = 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=' . DB_CHARSET;
		$this->conn = new PDO($dsn, DB_USER, DB_PASS, [
			PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
			PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
			PDO::ATTR_EMULATE_PREPARES => FALSE,
		]);
	}

	public function __destruct(){
		$this->stmt = NULL;
		$this->conn = NULL;
	}
}//end class DB
		

Sample usage of DB class above

require_once 'constants.php';
require_once 'db.php';

$db = new DB(); //open db

$db->stmt = $db->conn->prepare('SELECT `address` FROM `' . DB_TABLE . '` WHERE `user`=?');
$db->stmt->execute([$user]); //query db

$row = $db->stmt->fetch();
unset($db); //immediately close db

if($row === FALSE)
	echo 'error finding user address.';
else
	echo $row;
		

Comments