現在の位置: ホーム> 最新記事一覧> mysql_pconnect関数の基本的な使用法の詳細な説明、それを使用して永続的な接続を実現する方法を知っていますか?

mysql_pconnect関数の基本的な使用法の詳細な説明、それを使用して永続的な接続を実現する方法を知っていますか?

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>()

  • :データベースホストアドレスには、ポート番号を装備できます。
  • $ username :データベースのユーザー名。
  • $パスワード:データベースパスワード。
  • $ client_flags :クライアントフラグを設定するためのオプションのパラメーター。

コードの例


</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 永続的な接続を使用してデータベースに接続します</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">"接続に失敗しました: "</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">"永続的な接続が成功します!"</span></span><span>;
}

</span><span><span class="hljs-comment">// データベースを選択します</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">// クエリを実行します</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>

永続的な接続について注意すべきこと

  1. リソースの占有:スクリプトの最後に永続的な接続は閉じられていません。接続が多すぎると、サーバーリソースが使い果たされる可能性があります。
  2. 接続ステータス:接続を多重化する場合、接続が非デフォルト状態(トランザクションなど)にある可能性があり、使用前に初期化する必要があることに注意してください。
  3. 非推奨のリスクmysql_pconnect()は時代遅れのmysql拡張であり、php7後に削除されました。 mysqliまたはPDOの永続的な接続関数を使用することをお勧めします。

代替案

mysql_pconnect()は時代遅れであるため、 P :attr_persistentを介して永続的な接続を実現するために、 p: prefixでmysqli拡張機能mysqli_connect ()を使用することをお勧めします。これは、PHPの新しいバージョンと互換性があるだけでなく、より豊かな機能とより高いセキュリティを提供します。

概要mysql_pconnect()は、特定のシナリオでのデータベースアクセスパフォーマンスを実際に改善できますが、時代遅れの拡張機能とリソース管理の問題により、実際のプロジェクトでmysqliまたはPDOの永続的な接続方法の使用を優先することをお勧めします。