/** * Database object constructor * * @access public * @param array List of options used to configure the connection * @since 1.5 * @see FiveDatabase */ function __construct($options) { $host = array_key_exists('host', $options) ? $options['host'] : 'localhost'; $user = array_key_exists('user', $options) ? $options['user'] : ''; $password = array_key_exists('password', $options) ? $options['password'] : ''; $database = array_key_exists('database', $options) ? $options['database'] : ''; $prefix = array_key_exists('prefix', $options) ? $options['prefix'] : 'jos_'; $select = array_key_exists('select', $options) ? $options['select'] : true; // perform a number of fatality checks, then return gracefully if (!function_exists('mysql_connect')) { $this->_errorNum = 1; $this->_errorMsg = 'The MySQL adapter "mysql" is not available.'; return; } // connect to the server if (!($this->_resource = @mysql_connect($host, $user, $password, true))) { $this->_errorNum = 2; $this->_errorMsg = 'Could not connect to MySQL'; return; } // finalize initialization parent::__construct($options); // select the database if ($select) { $this->select($database); } }
/** * Database object constructor * * @access public * @param array List of options used to configure the connection * @since 1.5 * @see FiveDatabase */ function __construct($options) { $host = array_key_exists('host', $options) ? $options['host'] : 'localhost'; $user = array_key_exists('user', $options) ? $options['user'] : ''; $password = array_key_exists('password', $options) ? $options['password'] : ''; $database = array_key_exists('database', $options) ? $options['database'] : ''; $prefix = array_key_exists('prefix', $options) ? $options['prefix'] : 'jos_'; $select = array_key_exists('select', $options) ? $options['select'] : true; // Unlike mysql_connect(), mysqli_connect() takes the port and socket // as separate arguments. Therefore, we have to extract them from the // host string. $port = NULL; $socket = NULL; $targetSlot = substr(strstr($host, ":"), 1); if (!empty($targetSlot)) { // Get the port number or socket name if (is_numeric($targetSlot)) { $port = $targetSlot; } else { $socket = $targetSlot; } // Extract the host name only $host = substr($host, 0, strlen($host) - (strlen($targetSlot) + 1)); // This will take care of the following notation: ":3306" if ($host == '') { $host = 'localhost'; } } // perform a number of fatality checks, then return gracefully if (!function_exists('mysqli_connect')) { $this->_errorNum = 1; $this->_errorMsg = 'The MySQL adapter "mysqli" is not available.'; return; } // connect to the server if (!($this->_resource = @mysqli_connect($host, $user, $password, NULL, $port, $socket))) { $this->_errorNum = 2; $this->_errorMsg = 'Could not connect to MySQL'; return; } // finalize initialization parent::__construct($options); // select the database if ($select) { $this->select($database); } }