(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — Establece una conexión persistente con un servidor CUBRID
Establece una conexión persistente con un servidor CUBRID.
cubrid_pconnect_with_url() funciona de manera similar a la función cubrid_connect_with_url(), con dos diferencias principales.
En primer lugar, al establecer la conexión, la función intentará encontrar un enlace (persistente) ya abierto con el mismo host, en el mismo puerto, en la misma base de datos dbname y utilizando el mismo userid. Si se encuentra una conexión de este tipo, su identificador será devuelto en lugar de abrir una nueva conexión.
A continuación, la conexión al servidor CUBRID no se cerrará cuando finalice el script. En su lugar, la conexión permanecerá abierta para su uso futuro (la función cubrid_close() o la función cubrid_disconnect() no cerrarán la conexión establecida por la función cubrid_pconnect_with_url()).
Este tipo de enlace se denominaba anteriormente 'persistente'.
<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
.
Nota:
Los caracteres
?
y:
utilizados como identificadores en las URLs de conexión PHP no pueden ser incluidos en la contraseña. A continuación se muestra un ejemplo de contraseña inválida, ya que utiliza los caracteres "?:
" en la URL de conexión.$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
Las contraseñas que contienen el carácter
?
o el carácter:
pueden ser pasadas como argumento separado.$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_pconnect_with_url ($url, "dba", "12?");
Si el nombre de usuario o la contraseña están vacíos, no se deben eliminar los "
:
"; a continuación se muestra un ejemplo:$url = "CUBRID:localhost:33000:demodb:::";
conn_url
Un string que contiene la información de conexión para el servidor.
userid
Nombre de usuario para la base de datos.
passwd
Contraseña para el usuario.
Identificador de conexión, cuando el proceso tiene éxito, o false
en caso de error.
Ejemplo #1 Ejemplo con cubrid_pconnect_with_url() sin propiedades
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100";
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "Conexión exitosa";
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);
}
?>
Ejemplo #2 cubrid_pconnect_with_url() url with properties example
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?autocommit=off&althost=10.34.63.132:33088&rctime=100";
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "Conexión exitosa";
$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);
}
?>