array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.cubrid-connect-with-url.php', 1 => 'cubrid_connect_with_url', ), 'up' => array ( 0 => 'ref.cubrid.php', 1 => 'Функции CUBRID', ), 'prev' => array ( 0 => 'function.cubrid-commit.php', 1 => 'cubrid_commit', ), 'next' => array ( 0 => 'function.cubrid-connect.php', 1 => 'cubrid_connect', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/cubrid/functions/cubrid-connect-with-url.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL CUBRID >= 8.3.1)
cubrid_connect_with_url — Создаёт окружение для соединения с сервером CUBRID
$conn_url
,$userid
= ?,$passwd
= ?,$new_link
= false
Функция cubrid_connect_with_url() используется для создания окружения для соединения с сервером посредством информации заданной в виде строки URL. Если в CUBRID разрешена функциональность высокой доступности, необходимо задать информация для соединения с резервным сервером, которая будет использоваться для соединения, если с основным что-то случится. Если логин и пароль не заданы, то по умолчанию будет использоваться соединение "PUBLIC".
<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
<properties> ::= <property> [&<property>]
<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]
<properties> ::= login_timeout=<milli_sec>
<properties> ::= query_timeout=<milli_sec>
<properties> ::= disconnect_on_query_timeout=true|false
<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]
<host> := HOSTNAME | IP_ADDR
<time> := SECOND
<milli_sec> := MILLI SECOND
false
.
Замечание:
Символы
?
и:
являются специальными в URL соединения и не могут быть использованы в пароле. Пример некорректного пароля, который нельзя использовать в строке соединения, потому, что в нем используются символы "?:
".$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
Пароли, содержащие
?
или:
могут быть посланы отдельно.$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_connect_with_url($url, "dba", "12?");
Если логин или пароль пусты, необходимо всё равно сохранять символы "
:
":$url = "CUBRID:localhost:33000:demodb:::";
conn_url
Строка, содержащая информацию для соединения.
userid
Имя пользователя.
passwd
пароль.
new_link
Если функция cubrid_connect_with_url() была вызвана
повторно с такими же аргументами, новое соединение не будет создано, вместо него
будет возвращён идентификатор уже существующего подключения.
Параметр new_link
меняет такое поведение и вынуждает
cubrid_connect_with_url() в любом случае создать новое соединение,
даже если функция cubrid_connect_with_url() ранее была вызвана
с такими же аргументами.
Идентификатор подключения в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования cubrid_connect_with_url() без задания свойств
<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);
if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}
cubrid_disconnect($con);
}
?>
Пример #2 Пример использования cubrid_connect_with_url() с заданием свойств
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100";
$con = cubrid_connect_with_url ($conn_url);
if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}
cubrid_disconnect($con);
}
?>