Position actuelle: Accueil> Derniers articles> Explication détaillée de l'utilisation de base de la fonction MySQL_PConnect, savez-vous comment l'utiliser pour obtenir des connexions persistantes?

Explication détaillée de l'utilisation de base de la fonction MySQL_PConnect, savez-vous comment l'utiliser pour obtenir des connexions persistantes?

gitbox 2025-09-20

<span><span><span class="hljs-meta"><?php</span></span><span> </span><span><span class="hljs-comment">// 这部分与文章正文无关,仅作为前置内容示例</span></span><span> </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hello, this is a PHP article generator!"</span></span><span>; </span><span><span class="hljs-meta">?></span></span><span> <hr> <h1>mysql_pconnect函数的基本用法详解,你知道怎么用它来实现持久连接吗?</h1> <p>在使用 PHP 与 MySQL 数据库进行交互的过程中,开发者通常需要频繁地建立与关闭数据库连接。对于访问量较高的站点而言,这类操作不仅会增加服务器的负担,还会影响整体性能。为了解决这个问题,PHP 提供了 <code></span><span><span class="hljs-title function_ invoke__">mysql_pconnect</span></span><span>()

  • : L'adresse hôte de la base de données peut être équipée du numéro de port.
  • $ nom d'utilisateur : Nom d'utilisateur de la base de données.
  • $ mot de passe : Mot de passe de base de données.
  • $ client_flags : Paramètres facultatifs pour définir les drapeaux du client.

Exemple de code

 
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Connectez-vous à la base de données à l&#39;aide de la connexion persistante</span></span><span>
</span><span><span class="hljs-variable">$link</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_pconnect</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"root"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$link</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Échec de la connexion: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysql_error</span></span><span>());
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"La connexion persistante réussit!"</span></span><span>;
}

</span><span><span class="hljs-comment">// Sélectionnez une base de données</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysql_select_db</span></span><span>(</span><span><span class="hljs-string">"test_db"</span></span><span>, </span><span><span class="hljs-variable">$link</span></span><span>);

</span><span><span class="hljs-comment">// Exécuter une requête</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM users"</span></span><span>);

</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>

Choses à noter sur les connexions persistantes

  1. Occupation des ressources : les connexions persistantes ne sont pas fermées à la fin du script, et s'il y a trop de connexions, cela peut entraîner la sortie de la ressource du serveur.
  2. État de la connexion : lors des connexions de multiplexage, veillez à ce que la connexion puisse être dans un état non défaut (comme la transaction n'est pas engagée) et doit être initialisée avant utilisation.
  3. Risque de dépréciation : MySQL_PConnect () est une extension MySQL obsolète et a été supprimée après PHP7. Il est recommandé d'utiliser la fonction de connexion persistante de MySQLI ou PDO .

Alternatives

Étant donné que mysql_pconnect () est obsolète, il est recommandé d'utiliser l'extension mysqli mysqli_connect () avec le préfixe P: pour obtenir des connexions persistantes, ou pour activer les connexions persistantes via PDO :: att_persistent . Ceci est non seulement compatible avec la nouvelle version de PHP, mais offre également des fonctions plus riches et une sécurité supérieure.

Résumé : MySQL_PConnect () peut en effet améliorer les performances d'accès à la base de données dans certains scénarios, mais en raison des extensions dépassées et des problèmes de gestion des ressources, il est recommandé de donner la priorité à l'utilisation de méthodes de connexion persistantes MySQLI ou PDO dans les projets réels.