(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — Abrir una conexión persistente al servidor CUBRID
Establece una conexión persistente a un servidor CUBRID.
cubrid_pconnect_with_url() actúa de manera muy similar a cubrid_connect_with_url() con dos diferencias importantes.
Primera, al conectar, la función intenta encontrar un enlace (persistente) que ya estuviera abierto con el mismo host, puerto, nombre de base de datos e id de usuario. Si se encuentra uno, se devolverá un identificador para él en lugar de abrir una nueva conexión.
Segunda, la conexión al servidor SQL no se cerrará cuando la ejecución del script termine. En su lugar, el enlace permanece abierto para usos futuros (cubrid_close() o cubrid_disconnect() no cerrarán enlaces establecido por cubrid_pconnect_with_url()).
Por eso a este tipo de enlace se le llama '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
Nota:
?
y:
, que son usados como identificadores en el URL de conexión de PHP, no pueden ser incluidos en la contraseña. El siguiente es un ejemplo de una contraseña que no es válida para usarla como URL de conexión ya que contiene "?:
".$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
Las contraseñas que contengan
?
o:
se pueden pasar como un parámetro aparte.$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_pconnect_with_url ($url, "dba", "12?");
Si el usuario o la contraseña están vacíos no se podrá borrar "
:
". He aquí un ejemplo:$url = "CUBRID:localhost:33000:demodb:::";
conn_url
Una cadena de caracteres que contiene la información de conexión al servidor.
userid
El nombre de usuario de la base de datos.
passwd
La contraseña del usuario.
El identificador de conexión, cuando el proceso tiene éxito.
false
, cuando el proceso no tiene éxito.
Ejemplo #1 Ejemplo de url de cubrid_pconnect_with_url() sin propiedades
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::"
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "Se conectó con éxito";
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 Ejemplo de url de cubrid_pconnect_with_url() con 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 "Se conectó con éxito";
$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);
}
?>