<?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-connect-with-url.php',
    1 => 'cubrid_connect_with_url',
    2 => '&Eacute;tablit l\'environnement pour une connexion au serveur CUBRID',
  ),
  'up' => 
  array (
    0 => 'ref.cubrid.php',
    1 => 'Fonctions CUBRID',
  ),
  'prev' => 
  array (
    0 => 'function.cubrid-connect.php',
    1 => 'cubrid_connect',
  ),
  'next' => 
  array (
    0 => 'function.cubrid-current-oid.php',
    1 => 'cubrid_current_oid',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/cubrid/functions/cubrid-connect-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-connect-with-url" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">cubrid_connect_with_url</h1>
  <p class="verinfo">(PECL CUBRID &gt;= 8.3.1)</p><p class="refpurpose"><span class="refname">cubrid_connect_with_url</span> &mdash; <span class="dc-title">Établit l&#039;environnement pour une connexion au serveur CUBRID</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.cubrid-connect-with-url-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>cubrid_connect_with_url</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<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>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<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>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<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>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$new_link</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></span></span><br>): <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></div>

  <p class="simpara">
   La fonction <span class="function"><strong>cubrid_connect_with_url()</strong></span> est utilisée pour préparer
   l&#039;environnement pour la connexion au serveur en utilisant les informations de connexion
   passées avec des arguments dans l&#039;URL. Si la fonctionnalité HA est active pour CUBRID,
   il faut spécifier les informations de connexion du serveur de secours, qui sera utilisé
   comme backup lorsqu&#039;une erreur survient. Si le nom d&#039;utilisateur et le mot de passe
   ne sont pas fournis, alors la connexion &quot;PUBLIC&quot; sera établie par défaut.
  </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 vers la base de données principale</li>
   <li>db_name : Un nom de base de données</li>
   <li>db_user : Un nom d'utilisateur pour la base de données</li>
   <li>db_password : Le mot de passe associé à l'utilisateur</li>
   <li>
    alhosts : spécifie le courtier d'information pour le serveur de secours,
    qui sera utilisé comme backup lorsqu'il devient impossible de se connecter au
    serveur courant. Il est possible de spécifier plusieurs courtiers comme backup et la connexion
    aux courtiers se fera dans l'ordre d'alhosts
   </li>
   <li>
    rctime : un intervalle pendant lequel il sera tenté de se connecter
    au courtier actif lorsqu'une erreur survient. Après qu'une erreur est survenue,
    le système se connecte au courtier spécifié par althosts, met fin à la transaction,
    et tente une connexion au courtier actif de la base de données principale à chaque
    intervalle rctime. La valeur par défaut est 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_connect_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-connect-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> contenant les informations de connexion au serveur.</span></dd>
   
   
    <dt><code class="parameter">userid</code></dt>
    <dd><span class="simpara">Le nom d&#039;utilisateur de la base de données.</span></dd>
   
   
    <dt><code class="parameter">passwd</code></dt>
    <dd><span class="simpara">Le mot de passe de l&#039;utilisateur.</span></dd>
   
   
    <dt><code class="parameter">new_link</code></dt>
    <dd>
     <span class="simpara">
      Si un second appel est effectué à la fonction
      <span class="function"><strong>cubrid_connect_with_url()</strong></span> avec les mêmes arguments,
      aucune nouvelle connexion ne sera établie, et l&#039;identifiant de la
      connexion déjà ouverte sera retourné à la place. Le paramètre
      <code class="parameter">new_link</code> modifie ce comportement et fera que la fonction
      <span class="function"><strong>cubrid_connect_with_url()</strong></span> ouvre toujours une nouvelle
      connexion, y compris si la fonction <span class="function"><strong>cubrid_connect_with_url()</strong></span>
      a déjà été appelée avec les mêmes arguments.
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.cubrid-connect-with-url-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="simpara">
   Identifiant de connexion, en cas de succès, 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-connect-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_connect_with_url()</strong></span></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:localhost:33000:demodb:dba::"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect_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 avec succès."</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_connect_with_url()</strong></span></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::?login_timeout=100"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$con </span><span style="color: #007700">= </span><span style="color: #0000BB">cubrid_connect_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 avec succès."</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>


 <div class="refsect1 seealso" id="refsect1-function.cubrid-connect-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-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-pconnect-with-url.php" class="function" rel="rdfs-seeAlso">cubrid_pconnect_with_url()</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); ?>