JDatabaseMySQLi/ construct: Difference between revisions
From Joomla! Documentation
m clean up |
m preparing for archive only |
||
| Line 87: | Line 87: | ||
===Examples=== | ===Examples=== | ||
=== Code Examples === | |||
<dpl> | <dpl> | ||
noresultsheader=\n | noresultsheader=\n | ||
category=__construct | category=__construct | ||
category=JDatabaseMySQLi | category=JDatabaseMySQLi | ||
namespace=CodeExample | |||
category=MethodExample | category=MethodExample | ||
include=* | include=* | ||
Latest revision as of 01:28, 25 March 2017
Description
Database object constructor
<! removed transcluded page call, red link never existed >
Syntax
__construct($options)
| Parameter Name | Default Value | Description |
|---|---|---|
| $options | List of options used to configure the connection |
Defined in
libraries/joomla/database/database/mysqli.php
Importing
jimport( 'joomla.database.database.mysqli' );
Source Body
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->_connection = @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);
}
}
<! removed transcluded page call, red link never existed >
Examples
Code Examples