PHP Conference Nagoya 2025

mysqli::init

mysqli_init

(PHP 5, PHP 7, PHP 8)

mysqli::init -- mysqli_initInitializes MySQLi and returns an object for use with mysqli_real_connect()

Description

Object-oriented style

#[\Deprecated]
public mysqli::init(): ?bool

Procedural style

mysqli_init(): mysqli|false

Allocates or initializes a MYSQL object suitable for mysqli_options() and mysqli_real_connect().

Note:

Any subsequent calls to any mysqli function (except mysqli_options() and mysqli_ssl_set()) will fail until mysqli_real_connect() was called.

Parameters

This function has no parameters.

Return Values

mysqli::init() returns null on success, or false on failure. mysqli_init() returns an object on success, or false on failure.

Changelog

Version Description
8.1.0 The object-oriented style mysqli::init() method has been deprecated. Replace calls to parent::init() with parent::__construct().

Examples

See mysqli_real_connect().

See Also

add a note

User Contributed Notes 2 notes

up
1
Kam.Dab
1 year ago
I wrote support ssl mysqli you don't need change anymore mysqli connect exchange to your own mysqli . Overwrite __construct mysqli with support ssl can be like that:
<?php class myssl_mysqli extends \mysqli {
public function
__construct($db_host, $db_user, $db_pass, $db_name, $port, $persistent = true, $ssl = false, $certpublic = "") {
if(
$ssl) {
parent::init();
parent::options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, false);
parent::ssl_set(NULL, NULL, $certpublic, NULL, NULL);
parent::real_connect(($persistent ? 'p:' : '') . $db_host, $db_user, $db_pass, $db_name, $port, '', MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT );
} else {
parent::__construct($db_host, $db_user, $db_pass, $db_name, $port);
}
}
$db = new myssl_mysqli('localhost','user', 'pass','db', '3306', true, true, '/home/mypublicowncert.pem');
?>
in this example i off the verificate cert by authority ssl, due it own cery created
up
-3
evgen at sysmasters dot net
2 years ago
Correct way to connect db

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("127.0.0.1", "db_user", "db_pass", "db_name",3306);

$result = $mysqli->query("SELECT somefield1, somefield2 FROM sometable ORDER BY ID LIMIT 3");

/* Close the connection as soon as it becomes unnecessary */
$mysqli->close();

foreach (
$result as $row) {
/* Processing data received from the database */
echo var_dump ($row);
}
To Top