Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Copyright 2017 Joseph Orlando.
- */
- class Database {
- private static $DefaultConnectionUrlEnv = 'MYSQL_CONNECT_URL';
- private static $session = null;
- // Connect using a ConnectionURL, as such: setSession('mysql://user:pass@hostname/dbname');
- // Connect using connection parameters, as such: setSession('hostname', 'user', 'pass', 'dbname');
- public static function setSession($host='', $user='', $pass='', $dbname=''){
- if(empty($dbname) && !empty($host)){
- // Connect URL given.
- $UrlParts = parse_url($host);
- if(!empty($UrlParts)){
- return self::setSession($UrlParts['host'], $UrlParts['user'], $UrlParts['pass'], str_replace('/', '', $UrlParts['path']));
- }
- }else{
- self::$session = new mysqli($host, $user, $pass, $dbname);
- if(self::$session != null && empty(self::$session->connect_error)){
- return true;
- }
- }
- return false;
- }
- public static function getSession(){
- if(self::$session == null){
- self::setSession($_ENV[self::$DefaultConnectionUrlEnv]);
- }
- return self::$session;
- }
- // Sanitize all values in an array for SQL injection.
- // Example: sanitizeArrayValues($_GET);
- public static function sanitizeArrayValues(&$Arr){
- if(!empty($Arr) && self::getSession() != null){
- foreach ($Arr as $key => $val){
- $Arr[$key] = self::getSession()->real_escape_string($val);
- }
- }
- }
- }
- ?>
Add Comment
Please, Sign In to add comment