現代の開発では、フレームワークを一般的に使用すると、基礎となるカプセル化が無視され、ほとんどのフレームワークはデフォルトでデータベース操作に PDO を使用するようになりました。つまり、PDO がどのようにデータ接続を閉じるかは誰もが知っていますか? ?
#正式な説明
接続を閉じるには、オブジェクトを破棄して、そのオブジェクトへの残りの参照がすべて削除されるようにする必要があります。を使用すると、オブジェクト変数に NULL 値を割り当てることができます。これを明示的に行わないと、PHP はスクリプトの最後で接続を自動的に閉じます。$pdo = new PDO('mysql:host=127.0.0.1; port=3306; dbname=blog_test', 'root', ''); $pdo = null;
実際のテスト
このようなテストを行ってみましょう。通常の状況では、データベース接続を開いた後すぐに閉じることはありませんが、いくつかの操作を実行する必要があります。 。$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=blog_test', 'root', ''); $stmt = $pdo->prepare('SELECT * FROM zyblog_test_user'); $stmt->execute(); $pdo = null; sleep(60);
$pdo = new PDO('mysql:host=127.0.0.1;port=3306;dbname=blog_test', 'root', ''); $stmt = $pdo->prepare('SELECT * FROM zyblog_test_user'); $stmt->execute(); $stmt = null; $pdo = null; sleep(60);
mysqli test
mysqli のデフォルトの拡張コンポーネントを使用するとき、つまり、mysqli オブジェクトで close() を使用してデータベース接続?または、コードを使用して直接テストします。 (mysql 拡張機能は古いため、推奨されません。データベース操作クラスを自分でカプセル化する場合、または小さなデモを作成する場合は、mysqli を使用することをお勧めします)$conn = new mysqli('127.0.0.1', 'root', '', 'blog_test'); $result = $conn->query('SELECT * FROM zyblog_test_user'); $stmt = $conn->prepare("SELECT * FROM zyblog_test_user"); $stmt->execute(); $conn->close(); sleep(60);
まとめ
実は今日の内容は、データベース接続に関する公式ドキュメントのNoteに記載されていた情報でもあります。あるマスターがこの問題をずっと前に発見して共有しましたが、ほとんどの人はこの問題をまったく知りませんし、PDO がデータベース接続を閉じることができることさえ知りません。 フレームワークは私たちに利便性をもたらしますが、多くの事柄を非常にうまくカプセル化しているため、多くの友人は基礎となるコンテンツの一部を気にしません。しかし、より高いレベルに移行すると、多くの場合、これらの低レベルの事柄があなたの障害になるでしょう。 推奨学習:以上がPHP で PDO を使用して接続を閉じる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。