API16

Difference between revisions of "JDatabaseMySQLi/ construct"

From Joomla! Documentation

< API16:JDatabaseMySQLi
(New page: ===Description=== Database object constructor <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>Edit Descripton<nowiki>]<...)
 
m (removing red link to edit, no existant pages)
Line 3: Line 3:
  
 
<span class="editsection" style="font-size:76%;">
 
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JDatabaseMySQLi/__construct|Edit Descripton]]<nowiki>]</nowiki>
+
<nowiki>[<! removed edit link to red link >]</nowiki>
 
</span>
 
</span>
  
{{Description:JDatabaseMySQLi/__construct}}
+
<! removed transcluded page call, red link never existed >
  
 
===Syntax===
 
===Syntax===
Line 86: Line 86:
  
 
<span class="editsection" style="font-size:76%;">
 
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[SeeAlso:JDatabaseMySQLi/__construct|Edit See Also]]<nowiki>]</nowiki>
+
<nowiki>[<! removed edit link to red link >]</nowiki>
 
</span>
 
</span>
{{SeeAlso:JDatabaseMySQLi/__construct}}
+
<! removed transcluded page call, red link never existed >
  
 
===Examples===
 
===Examples===
Line 101: Line 101:
 
  format= ,,,
 
  format= ,,,
 
</dpl>
 
</dpl>
 +
[[Category:Archived pages API16]]

Revision as of 22:01, 12 May 2013

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Database object constructor

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax[edit]

__construct($options)
Parameter Name Default Value Description
$options List of options used to configure the connection

Defined in[edit]

libraries/joomla/database/database/mysqli.php

Importing[edit]

jimport( 'joomla.database.database.mysqli' );

Source Body[edit]

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 edit link to red link >] <! removed transcluded page call, red link never existed >

Examples[edit]

<CodeExamplesForm />