<?php
/**
* This class provides methods for setting the
* parameters needed to connect to a MySQL
* database and creates the link to the
* database (mysqli_connect).
*/
class DBSettings
{
private $host; # The name of the server
private $db; # The name of the database
private $user; # The username
private $pass; # The password
private $link; # The mysqli_connect link.
/**
* The class constructor.
*
* @param string $host
* @param string $db
* @param string $user
* @param string $pass
* @return DBSettings
*/
function DBSettings($host, $db, $user, $pass)
{
$this->host = $host; # The name of the server
$this->db = $db; # The name of the DB
$this->user = $user; # The username
$this->pass = $pass; # The password
}
/**
* Creates the link to the database (mysqli_connect).
* The parameter $encrypt specifies if the password
* will be encrypted using the md5 algorythm or not.
* The default value of 1 encrypts the password.
*
* @param numeric $encrypt
* @return object
*/
function dbConnect($encrypt = 1)
{
###############################
### Validate the parameters ###
###############################
if ($encrypt !== 1 && $encrypt !== 0)
{
printf('Invalid parameter for $encrypt. The parameter must be either 1 or 0.');
exit();
}
if ($encrypt === 1)
{
$pass = md5($this->pass); # Encrypt the password
}
# Link to the DB
$this->link = mysqli_connect($host, $user, $pass, $db);
if (!$this->link)
{
# Error message if connection fails
printf("Can't connect to the MySQL Database Server.");
exit;
}
else
{
return $this->link; # Return the link
}
}
}
?>