(No version information available, might only be in Git)
getSession — Connect to a MySQL server
$uri
)Connects to the MySQL server.
uri
The URI to the MySQL server, such as mysqlx://user:password@host.
URI format:
scheme://[user[:[password]]@]target[:port][/schema][?attribute1=value1&attribute2=value2...
schema: required, the connection protocol
In mysql_xdevapi it is always 'mysqlx' (for X Protocol)
user: optional, the MySQL user account for authentication
password: optional, the MySQL user's password for authentication
target: required, the server instance the connection refers to:
* TCP connection (host name, IPv4 address, or IPv6 address)
* Unix socket path (local file path)
* Windows named-pipe (local file path)
port: optional, network port of MySQL server.
by default port for X Protocol is 33060
?attribute=value: this element is optional and specifies a data dictionary that contains options, e.g. for encrypted connections or 'auth'. For additional information, see » Command Options for Encrypted Connections.
The following values for 'auth' attribute are supported (authentication mechanism):
plain
mysql41
external
sha256_mem
Example #1 URI examples
mysqlx://foobar
mysqlx://root@localhost?socket=%2Ftmp%2Fmysqld.sock%2F
mysqlx://foo:bar@localhost:33060
mysqlx://foo:bar@localhost:33160?ssl-mode=disabled
mysqlx://foo:bar@localhost:33260?ssl-mode=required
mysqlx://foo:bar@localhost:33360?ssl-mode=required&auth=mysql41
mysqlx://foo:bar@(/path/to/socket)
mysqlx://foo:bar@(/path/to/socket)?auth=sha256_mem
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]
mysqlx://foobar?ssl-ca=(/path/to/ca.pem)&ssl-crl=(/path/to/crl.pem)
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]?ssl-mode=disabled
For related information, see MySQL Shell's » Connecting using a URI String.
A mysql_xdevap\Session object.
Example #2 mysql_xdevapi\getSession() example
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
if ($session === NULL) {
die("Connection could not be established");
}
var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>
以上例程的输出类似于:
array(4) { ["_id"]=> string(28) "00005ad66abf0001000400000003" ["age"]=> int(42) ["job"]=> string(7) "Butler" ["name"]=> string(4) "Alfred" }