(PECL CUBRID >= 8.3.1)
cubrid_pconnect_with_url — Ouvre une connexion persistante vers un serveur CUBRID
Établit une connexion persistante vers un serveur CUBRID.
cubrid_pconnect_with_url() agit de la même façon que la fonction cubrid_connect_with_url(), avec deux différences majeures.
Tout d'abord, lors de la connexion, la fonction tentera tout d'abord de trouver un lien (persistant) déjà ouvert avec le même hôte, sur le même port, sur la même base de données dbname et utilisant le même userid. Si une telle connexion est trouvée, son identifiant sera retourné au lieu d'ouvrir une nouvelle connexion.
Ensuite, la connexion vers le serveur MySQL ne sera pas fermée lorsque la fin du script sera atteint. Au lieu de cela, la connexion restera ouverte pour une utilisation future ( la fonction cubrid_close() ou la fonction cubrid_disconnect() ne fermera pas la connexion établie par la fonction cubrid_pconnect_with_url()).
Ce type de lien était appelé, auparavant, 'persistant'.
<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
.
Note:
Les caractères
?
et:
utilisés comme identifiants dans les URLs de connexion PHP ne peuvent être inclus dans le mot de passe. Voici un exemple de mot de passe invalide, car utilisant les caractères "?:
" dans l'URL de connexion.$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
Les mots de passe contenant le caractère
?
ou le caractère:
peuvent être passés en tant que paramètre séparé.$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
$conn = cubrid_pconnect_with_url ($url, "dba", "12?");
Si le nom d'utilisateur ou le mot de passe est vide, vous ne devez pas supprimer les "
:
" ; voici un exemple :$url = "CUBRID:localhost:33000:demodb:::";
conn_url
Une chaîne de caractères qui contient les informations de connexion pour le serveur.
userid
Nom d'utilisateur pour la base de données.
passwd
Mot de passe pour l'utilisateur.
Identifiant de connexion, lorsque le processus réussit, ou false
si une erreur survient.
Exemple #1 Exemple avec cubrid_pconnect_with_url() sans propriétés
<?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 "Connexion réussie";
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);
}
?>
Exemple #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 "Connexion réussie";
$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);
}
?>