<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mysqli.quickstart.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mysqli.quickstart.dual-interface.php',
    1 => 'Interface proc&eacute;durale et orient&eacute;e objet',
    2 => 'Interface proc&eacute;durale et orient&eacute;e objet',
  ),
  'up' => 
  array (
    0 => 'mysqli.quickstart.php',
    1 => 'Guide de d&eacute;marrage rapide',
  ),
  'prev' => 
  array (
    0 => 'mysqli.quickstart.php',
    1 => 'Guide de d&eacute;marrage rapide',
  ),
  'next' => 
  array (
    0 => 'mysqli.quickstart.connections.php',
    1 => 'Connexions',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mysqli/quickstart.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqli.quickstart.dual-interface" class="section">
  <h2 class="title">Interface procédurale et orientée objet</h2>
  <p class="para">
   L&#039;extension mysqli fournit 2 interfaces. Elle supporte la programmation
   procédurale mais aussi, la programmation orientée objet.
  </p>
  <p class="para">
   Les utilisateurs migrants depuis l&#039;ancienne extension mysql préfèreront
   l&#039;interface procédurale. Cette interface est similaire à celle utilisée
   par l&#039;ancienne extension mysql. Dans la plupart des cas, les noms de fonctions
   ne diffèrent que par leurs préfixes. Quelques fonctions mysqli prennent
   un gestionnaire de connexion comme premier argument, alors que la fonction
   correspondante de l&#039;ancienne interface mysql le prenait comme argument
   optionnel en dernière position.
  </p>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Migration facile depuis l&#039;ancienne extension mysql</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$mysqli </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.com"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"database"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT 'Please do not use the deprecated mysql extension for new development. ' AS _msg FROM DUAL"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'_msg'</span><span style="color: #007700">];<br /><br /></span><span style="color: #0000BB">$mysql </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.com"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">); <br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #DD0000">"test"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT 'Use the mysqli extension instead.' AS _msg FROM DUAL"</span><span style="color: #007700">, </span><span style="color: #0000BB">$mysql</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'_msg'</span><span style="color: #007700">];</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Please do not use the deprecated mysql extension for new development. Use the mysqli extension instead.
</pre></div>
    </div>
   </div>
  </p>
  <p class="para">
   <strong>L&#039;interface orientée objet</strong>
  </p>
  <p class="para">
   En plus de l&#039;interface procédurale, les utilisateurs peuvent choisir
   d&#039;utiliser l&#039;interface orientée objet. La documentation est organisée
   en utilisant cette interface. Elle montre les fonctions groupées
   par leurs buts, rendant simple le démarrage de la programmation.
   La section référence fournit des exemples sur les deux syntaxes.
  </p>
  <p class="para">
   Il n&#039;y a pas de différence significative d&#039;un point de vue performance
   entre les deux interfaces. Les utilisateurs peuvent faire leur choix
   que d&#039;un point de vue personnel.
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Interface procédurale et orientée objet</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$mysqli </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.com"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"database"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT 'A world full of ' AS _msg FROM DUAL"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_fetch_assoc</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'_msg'</span><span style="color: #007700">];<br /><br /></span><span style="color: #0000BB">$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.com"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"database"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT 'choices to please everybody.' AS _msg FROM DUAL"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">();<br />echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'_msg'</span><span style="color: #007700">];</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
A world full of choices to please everybody.
</pre></div>
    </div>
   </div>
  </p>
  <p class="para">
   L&#039;interface orientée objet est utilisée dans le démarrage rapide de la documentation
   en raison du fait que la section référence est organisée de cette façon.
  </p>
  <p class="para">
   <strong>Mixage des styles</strong>
  </p>
  <p class="para">
   Il est possible de passer d&#039;un style à un autre à tout moment bien que ce ne
   soit pas recommandé pour des raisons de clarté et de style de codage.
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Exemple #3 Mauvais style de codage</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.com"</span><span style="color: #007700">, </span><span style="color: #DD0000">"user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"database"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">, </span><span style="color: #DD0000">"SELECT 'Possible but bad style.' AS _msg FROM DUAL"</span><span style="color: #007700">);<br /><br />if (</span><span style="color: #0000BB">$row </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_assoc</span><span style="color: #007700">()) {<br />    echo </span><span style="color: #0000BB">$row</span><span style="color: #007700">[</span><span style="color: #DD0000">'_msg'</span><span style="color: #007700">];<br />}</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Possible but bad style.
</pre></div>
    </div>
    </div>
  </p>
  <p class="para">
   <strong>Voir aussi</strong>
  </p>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="mysqli.construct.php" class="methodname">mysqli::__construct()</a></span></li>
    <li><span class="methodname"><a href="mysqli.query.php" class="methodname">mysqli::query()</a></span></li>
    <li><span class="methodname"><a href="mysqli-result.fetch-assoc.php" class="methodname">mysqli_result::fetch_assoc()</a></span></li>
    <li><a href="mysqli.connect-errno.php" class="link">$mysqli::connect_errno</a></li>
    <li><a href="mysqli.connect-error.php" class="link">$mysqli::connect_error</a></li>
    <li><a href="mysqli.errno.php" class="link">$mysqli::errno</a></li>
    <li><a href="mysqli.error.php" class="link">$mysqli::error</a></li>
    <li><a href="mysqli.summary.php" class="link">Le résumé des fonctions de l&#039;extension MySQLi</a></li>
   </ul>
  </p>
 </div><?php manual_footer($setup); ?>