Объектно-ориентированный стиль
<?php
$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init завершилась провалом');
}
if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Установка MYSQLI_INIT_COMMAND завершилась провалом');
}
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Установка MYSQLI_OPT_CONNECT_TIMEOUT завершилась провалом');
}
if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Выполнено... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>
Объектно-ориентированный стиль при расширении класса mysqli
<?php
class foo_mysqli extends mysqli
{
public function __construct($host, $user, $pass, $db)
{
parent::__construct();
if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Установка MYSQLI_INIT_COMMAND завершилась провалом');
}
if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Установка MYSQLI_OPT_CONNECT_TIMEOUT завершилась провалом');
}
if (!parent::real_connect($host, $user, $pass, $db)) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
echo 'Выполнено... ' . $db->host_info . "\n";
$db->close();
?>
<?php
$link = mysqli_init();
if (!$link) {
die('mysqli_init завершилась провалом');
}
if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Установка MYSQLI_INIT_COMMAND завершилась провалом');
}
if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Установка MYSQLI_OPT_CONNECT_TIMEOUT завершилась провалом');
}
if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Выполнено... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
?>
Результат выполнения приведённых примеров:
Выполнено... MySQL host info: localhost via TCP/IP