<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.cubrid.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.cubrid-pconnect-with-url.php',
    1 => 'cubrid_pconnect_with_url',
    2 => 'Ouvre une connexion persistante vers un serveur CUBRID',
  ),
  'up' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Fonctions CUBRID',
  ),
  'prev' => 
  array (
    0 => 'function.cubrid-pconnect.php',
    1 => 'cubrid_pconnect',
  ),
  'next' => 
  array (
    0 => 'function.cubrid-prepare.php',
    1 => 'cubrid_prepare',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/cubrid/functions/cubrid-pconnect-with-url.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.cubrid-pconnect-with-url" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">cubrid_pconnect_with_url</h1>
  <p class="verinfo">(PECL CUBRID &gt;= 8.3.1)</p><p class="refpurpose"><span class="refname">cubrid_pconnect_with_url</span> &mdash; <span class="dc-title">Ouvre une connexion persistante vers un serveur CUBRID</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.cubrid-pconnect-with-url-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>cubrid_pconnect_with_url</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$conn_url</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$userid</code><span class="initializer"> = ?</span></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$passwd</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></div>

  <p class="simpara">
   Établit une connexion persistante vers un serveur CUBRID.
  </p>
  <p class="simpara">
   <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> agit de la même façon que la
   fonction <span class="function"><a href="function.cubrid-connect-with-url.php" class="function">cubrid_connect_with_url()</a></span>, avec deux différences majeures.
  </p>
  <p class="simpara">
   Tout d&#039;abord, lors de la connexion, la fonction tentera tout d&#039;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&#039;ouvrir une nouvelle
   connexion.
  </p>
  <p class="simpara">
   Ensuite, la connexion vers le serveur SQL ne sera pas fermée lorsque la fin
   du script sera atteinte. Au lieu de cela, la connexion restera ouverte
   pour une utilisation future ( la fonction <span class="function"><a href="function.cubrid-close.php" class="function">cubrid_close()</a></span> ou la fonction
   <span class="function"><a href="function.cubrid-disconnect.php" class="function">cubrid_disconnect()</a></span> ne fermera pas la connexion établie par la fonction
   <span class="function"><strong>cubrid_pconnect_with_url()</strong></span>).
  </p>
  <p class="simpara">
   Ce type de lien était appelé, auparavant, &#039;persistant&#039;.
  </p>
  <p class="simpara">
   &lt;url&gt; ::= CUBRID:&lt;host&gt;:&lt;db_name&gt;:&lt;db_user&gt;:&lt;db_password&gt;:[?&lt;properties&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= &lt;property&gt; [&amp;&lt;property&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= alhosts=&lt;alternative_hosts&gt;[ &amp;rctime=&lt;time&gt;]
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= login_timeout=&lt;milli_sec&gt;
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= query_timeout=&lt;milli_sec&gt;
  </p>
  <p class="simpara">
   &lt;properties&gt; ::= disconnect_on_query_timeout=true|false
  </p>
  <p class="simpara">
   &lt;alternative_hosts&gt; ::= &lt;standby_broker1_host&gt;:&lt;port&gt; [,&lt;standby_broker2_host&gt;:&lt;port&gt;]
  </p>
  <p class="simpara">
   &lt;host&gt; := HOSTNAME | IP_ADDR
  </p>
  <p class="simpara">
   &lt;time&gt; := SECOND
  </p>
  <p class="simpara">
   &lt;milli_sec&gt; := MILLI SECOND
  </p>
  <ul class="simplelist">
   <li>host : Un nom d'hôte ou une adresse IP du serveur maître de base de données</li>
   <li>db_name : Un nom de base de données</li>
   <li>db_user : Un nom d'utilisateur de la base de données</li>
   <li>db_password : Un mot de passe pour l'utilisateur de la base de données</li>
   <li>
    alhosts : Spécifie l'information du broker du serveur, qui sera utilisé comme point de sortie
    lorsqu'il est impossible de se connecter au serveur actif. Il est possible de spécifier plusieurs brokers dans ce cas,
    et la connexion aux brokers sera tentée dans l'ordre de la configuration alhosts
   </li>
   <li>
    rctime : Un intervalle de temps à attendre avant de tenter une connexion vers un broker lorsqu'une erreur
    survient. Après qu'une erreur soit survenue, le système tentera une connexion vers un broker spécifié par
    althosts, termine la transaction, et ensuite, tente de se connecter au broker actif du serveur maître
    de base de données. La valeur par défaut est de 600 secondes.
   </li>
   <li>
    login_timeout : Valeur du délai maximal d'attente (unité : milliseconde) pour l'identification
    à la base de données. Par défaut, cette valeur vaut 0, ce qui signifie que l'on attend
    indéfiniment.
   </li>
   <li>
    query_timeout : Valeur du délai maximal d'attente (unité : milliseconde) pour l'exécution
    de la requête. Une fois cette valeur atteinte, un message pour annuler la requête
    envoyée au serveur est envoyé. La valeur retournée peut dépendre de la configuration
    de disconnect_on_query_timeout ; même si le message pour annuler
    la requête a été envoyée au serveur, la requête peut réussir.
   </li>
   <li>
    disconnect_on_query_timeout : Configure une valeur déterminant si l'on doit retourner
    immédiatement une erreur pour les fonctions exécutées après le délai maximal d'attente.
    La valeur par défaut est <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
   </li>
  </ul>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    Les caractères <code class="literal">?</code> et <code class="literal">:</code>
    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 &quot;<code class="literal">?:</code>&quot; dans l&#039;URL de connexion.
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100&quot;;
   </span>
   <span class="simpara">
    Les mots de passe contenant le caractère <code class="literal">?</code> ou le
    caractère <code class="literal">:</code> peuvent être passés en tant que paramètre séparé.
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:tbd:::?login_timeout=100&quot;;
   </span>
   <span class="simpara">
    $conn = cubrid_pconnect_with_url ($url, &quot;dba&quot;, &quot;12?&quot;);
   </span>
   <span class="simpara">
    Si le nom d&#039;utilisateur ou le mot de passe est vide, l&#039;on ne doit
    pas supprimer les &quot;<code class="literal">:</code>&quot; ; voici un exemple :
   </span>
   <span class="simpara">
    $url = &quot;CUBRID:localhost:33000:demodb:::&quot;;
   </span>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.cubrid-pconnect-with-url-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">conn_url</code></dt>
    <dd>
     <span class="simpara">
      Une <a href="language.types.string.php" class="link">chaîne de caractères</a> qui contient les informations de connexion pour le serveur.
     </span>
    </dd>
   
   
    <dt><code class="parameter">userid</code></dt>
    <dd>
     <span class="simpara">
      Nom d&#039;utilisateur pour la base de données.
     </span>
    </dd>
   
   
    <dt><code class="parameter">passwd</code></dt>
    <dd>
     <span class="simpara">
      Mot de passe pour l&#039;utilisateur.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.cubrid-pconnect-with-url-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Identifiant de connexion, lorsque le processus réussit, ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.cubrid-pconnect-with-url-examples">
  <h3 class="title">Exemples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemple #1 Exemple avec <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> sans propriétés</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn_url </span><span style="color: #007700">= </span><span style="color: #DD0000">"CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&amp;rctime=100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_pconnect_with_url </span><span style="color: #007700">(</span><span style="color: #0000BB">$conn_url</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />   echo </span><span style="color: #DD0000">"Connexion réussie"</span><span style="color: #007700">;<br />   </span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"create table person(id int,name char(16))"</span><span style="color: #007700">);<br />   </span><span style="color: #0000BB">$req </span><span style="color: #007700">=</span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"insert into person values(1,'James')"</span><span style="color: #007700">);<br /><br />   if (</span><span style="color: #0000BB">$req</span><span style="color: #007700">) {<br />      </span><span style="color: #0000BB">cubrid_close_request </span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);<br />      </span><span style="color: #0000BB">cubrid_commit </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   } else {<br />      </span><span style="color: #0000BB">cubrid_rollback </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   }<br />   </span><span style="color: #0000BB">cubrid_disconnect </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>

  <div class="example" id="example-2">
   <p><strong>Exemple #2 Exemple avec <span class="function"><strong>cubrid_pconnect_with_url()</strong></span> et des propriétés dans l&#039;URL</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$conn_url </span><span style="color: #007700">= </span><span style="color: #DD0000">"CUBRID:127.0.0.1:33000:demodb:dba::?autocommit=off&amp;althost=10.34.63.132:33088&amp;rctime=100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_pconnect_with_url </span><span style="color: #007700">(</span><span style="color: #0000BB">$conn_url</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$con</span><span style="color: #007700">) {<br />   echo </span><span style="color: #DD0000">"Connexion réussie"</span><span style="color: #007700">;<br />   </span><span style="color: #0000BB">$req </span><span style="color: #007700">=</span><span style="color: #0000BB">cubrid_execute</span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">, </span><span style="color: #DD0000">"insert into person values(1,'James')"</span><span style="color: #007700">);<br /><br />   if (</span><span style="color: #0000BB">$req</span><span style="color: #007700">) {<br />      </span><span style="color: #0000BB">cubrid_close_request </span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">);<br />      </span><span style="color: #0000BB">cubrid_commit </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   } else {<br />      </span><span style="color: #0000BB">cubrid_rollback </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />   }<br />   </span><span style="color: #0000BB">cubrid_disconnect </span><span style="color: #007700">(</span><span style="color: #0000BB">$con</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.cubrid-pconnect-with-url-seealso">
  <h3 class="title">Voir aussi</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.cubrid-connect.php" class="function" rel="rdfs-seeAlso">cubrid_connect()</a> - Ouvre une connexion au serveur CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-connect-with-url.php" class="function" rel="rdfs-seeAlso">cubrid_connect_with_url()</a> - &Eacute;tablit l'environnement pour une connexion au serveur CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-pconnect.php" class="function" rel="rdfs-seeAlso">cubrid_pconnect()</a> - Ouvre une connexion persistante vers un serveur CUBRID</span></li>
   <li><span class="function"><a href="function.cubrid-disconnect.php" class="function" rel="rdfs-seeAlso">cubrid_disconnect()</a> - Ferme la connexion &agrave; la base de donn&eacute;es</span></li>
   <li><span class="function"><a href="function.cubrid-close.php" class="function" rel="rdfs-seeAlso">cubrid_close()</a> - Ferme une connexion CUBRID</span></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>