(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — Abre uma conexão persistente com o servidor CUBRID
Estabelece uma conexão persistente com um servidor CUBRID.
cubrid_pconnect_with_url() funciona de forma muito similar a cubrid_connect_with_url() com duas diferenças principais.
Primeiro, ao conectar, a função tentará primeiro encontrar uma conexão (persistente) já aberta com o mesmo servidor, porta, nome do banco de dados e ID do usuário. Se for encontrada, um identificador será retornado em vez de abrir uma nova conexão.
Segundo, a conexão com o servidor SQL não será encerrada quando a execução do script terminar. Em vez disso, a conexão permanecerá aberta para uso futuro (cubrid_close() ou cubrid_disconnect() não fecharão conexões estabelecidas por cubrid_pconnect_with_url()).
Este tipo de conexão é, portanto, denominada '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:
?
e:
são usados como identificadores na URL de conexão do PHP e não podem ser incluídos na senha. O exemplo a seguir é uma senha inválida para URL de conexão por conter "?:
".$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
Senhas que contêm
?
ou:
podem ser passadas como parâmetro separado.$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_pconnect_with_url ($url, "dba", "12?");
Se o usuário ou a senha estiverem vazios, o caractere "
:
" não pode ser omitido, veja este exemplo:$url = "CUBRID:localhost:33000:demodb:::";
conn_url
Uma string contendo informação de conexão ao servidor.
userid
Nome de usuário para o banco de dados.
passwd
Senha do usuário.
Identificador da conexão em caso de sucesso, ou false
em caso de falha.
Exemplo #1 Exemplo de cubrid_pconnect_with_url() e URL sem propriedades
<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::";
$con = cubrid_pconnect_with_url ($conn_url);
if ($con) {
echo "conectado com sucesso";
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);
}
?>
Exemplo #2 Exemplo de cubrid_pconnect_with_url() e URL com propriedades
<?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 "conectado com sucesso";
$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);
}
?>