(PHP 5, PHP 7)
mysqli::real_connect -- mysqli_real_connect — 锟斤拷锟斤拷一锟斤拷 MySQL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟�
$host
[, string $username
[, string $passwd
[, string $dbname
[, int $port
[, string $socket
[, int $flags
]]]]]]] ) : bool锟斤拷锟教伙拷锟斤拷锟�
$link
[, string $host
[, string $username
[, string $passwd
[, string $dbname
[, int $port
[, string $socket
[, int $flags
]]]]]]] ) : bool锟斤拷锟斤拷一锟斤拷锟斤拷 MySQL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟接★拷
锟斤拷 mysqli_connect() 锟侥诧拷同锟姐:
mysqli_real_connect() 锟斤拷要一锟斤拷锟斤拷效锟侥讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� mysqli_init() 锟斤拷锟斤拷锟斤拷
锟斤拷锟斤拷使锟斤拷 mysqli_options() 锟斤拷锟矫革拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫★拷
锟结供 flags
锟斤拷锟斤拷锟斤拷
link
锟斤拷锟皆癸拷锟教伙拷锟斤拷式锟斤拷锟斤拷mysqli_connect() 锟斤拷 mysqli_init() 锟斤拷锟截碉拷锟斤拷锟接憋拷识锟斤拷
host
锟斤拷锟斤拷使锟斤拷锟斤拷锟斤拷锟斤拷IP 锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷锟� NULL
锟斤拷锟斤拷锟街凤拷锟斤拷 "localhost" 锟斤拷么锟斤拷使锟斤拷
通锟斤拷锟斤拷锟� TCP/IP 锟斤拷锟接憋拷锟截凤拷锟斤拷锟斤拷锟斤拷
username
MySQL 锟斤拷录锟矫伙拷锟斤拷
passwd
锟斤拷锟斤拷锟斤拷锟� NULL
锟斤拷锟斤拷么锟斤拷使锟斤拷没锟斤拷锟斤拷锟斤拷锟斤拷证锟侥凤拷式锟斤拷锟皆碉拷录锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷为一锟斤拷锟矫伙拷
锟结供锟斤拷同锟斤拷权锟睫o拷锟斤拷锟斤拷锟斤拷锟角凤拷锟结供锟斤拷锟斤拷锟诫。
dbname
锟斤拷锟斤拷执锟叫诧拷询锟斤拷锟斤拷默锟斤拷锟斤拷锟捷库。
port
指锟斤拷 MySQL 锟斤拷锟斤拷锟斤拷锟侥端匡拷
socket
指锟斤拷使锟矫碉拷 socket 锟斤拷锟斤拷锟斤拷锟斤拷通锟斤拷锟斤拷
Note:
指锟斤拷
socket
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷说锟斤拷要锟斤拷锟矫猴拷锟街凤拷式锟斤拷锟斤拷锟斤拷锟捷库。 锟斤拷锟斤拷锟斤拷锟捷的凤拷式锟斤拷host
锟借定锟斤拷
flags
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷硬锟斤拷锟斤拷锟�
Name | Description |
---|---|
MYSQLI_CLIENT_COMPRESS |
使锟斤拷压锟斤拷协锟斤拷 |
MYSQLI_CLIENT_FOUND_ROWS |
锟斤拷锟斤拷锟斤拷锟狡ワ拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷影锟斤拷锟斤拷锟斤拷锟� |
MYSQLI_CLIENT_IGNORE_SPACE |
锟斤拷锟斤拷锟斤拷锟斤拷锟狡猴拷锟叫空革拷锟解将使锟斤拷锟叫的猴拷锟斤拷锟斤拷锟狡筹拷为锟斤拷锟斤拷锟街★拷 |
MYSQLI_CLIENT_INTERACTIVE |
锟节关憋拷锟斤拷锟斤拷之前锟斤拷锟斤拷却锟� interactive_timeout 锟诫, 锟斤拷锟斤拷锟� wait_timeout 锟借定锟斤拷 |
MYSQLI_CLIENT_SSL |
使锟斤拷 SSL 锟斤拷锟斤拷 |
Note:
锟接帮拷全锟角度匡拷锟角o拷锟斤拷 PHP 锟叫诧拷锟斤拷锟斤拷使锟斤拷
MULTI_STATEMENT
锟斤拷 锟斤拷要执锟叫讹拷锟窖拷锟戒,锟斤拷使锟斤拷 mysqli_multi_query()锟斤拷
锟缴癸拷时锟斤拷锟斤拷 TRUE
锟斤拷 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE
锟斤拷
Example #1 mysqli::real_connect() 锟斤拷锟斤拷
锟斤拷锟斤拷锟斤拷锟斤拷锟�
<?php
$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}
if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>
锟斤拷锟斤拷锟斤拷锟斤拷锟� when extending mysqli class
<?php
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::init();
if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!parent::real_connect($host, $user, $pass, $db)) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
echo 'Success... ' . $db->host_info . "\n";
$db->close();
?>
锟斤拷锟教伙拷锟斤拷锟�
<?php
$link = mysqli_init();
if (!$link) {
die('mysqli_init failed');
}
if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
?>
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
Success... MySQL host info: localhost via TCP/IP
Note:
MySQLnd 锟斤拷锟斤拷使锟矫凤拷锟斤拷锟斤拷锟斤拷默锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街o拷锟斤拷证时锟斤拷锟酵o拷锟斤拷锟斤拷 mysqlnd 使锟矫★拷
Libmysqlclient 使锟斤拷 my.cnf 锟叫碉拷默锟斤拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节碉拷锟斤拷 mysqli_init() 之锟斤拷mysqli_real_connect() 之前锟饺碉拷锟斤拷 mysqli_options() 锟斤拷指锟斤拷锟斤拷