質問
- PHPのPDOでDB接続解除をする方法
-
本文:
今PHPのPDOでDB接続のテストをしているのですが、DB接続解除をするにはPDOクラスのオブジェクトをnullに設定すればよろしいのでしょうか?
コードは以下のとおりでよろしいでしょうか?
例外処理でfinallyのとこでPDOクラスのオブジェクトを破棄するようにしているのですが?
try
{
/* データベース接続処理 */
/* (PDOクラスのインスタンス生成)*/
$pdo = new PDO($dsn, $user, $pass, array(PDO::ATTR_EMULATE_PREPARES => false));
}
catch (PDOException $e)
{
/* 例外発生(接続失敗) */
/* メッセージ表示 */
$mes = "データベース接続に失敗しました。";
print("<p>".$mes."".$e->getMessage()."</p>\n");
}
finally
{
/* データベース接続解除処理 */
$pdo = null;
/* メッセージ表示 */
$mes = "データベース接続を解除しました。";
print("<p>".$mes."</p>\n");
}
- 緊急度:急ぎ投稿者:og0131さん投稿時間:2017/04/21 06:57
回答 No.6031
-
本文:
平素はネットオウルをご利用いただき誠にありがとうございます。
ネットオウル運営チームです。
本ご質問は一定期間新たな回答がなかったため
運営チームで締め切らせていただきました。
■質問の締め切りについて
Q&A掲示板はユーザー様同士の交流掲示板です。
回答がもらえた場合、回答者へお礼コメントをしましょう。
問題が解決した際にはベストアンサーを選び、
質問を締め切ってください。
■再度のご質問について
ご質問が未解決の場合、「ワンポイント!」を参考に、
再度質問してみてください。
【ワンポイント!】
メールやFTPの設定がうまくいかない場合、
ネットオウルIDやサーバーIDなどのお客様情報を公開しない範囲で、
現在の設定内容を出来るだけ詳しく書いてみましょう。
設定内容のミスを指摘してもらえるかもしれません。
エラーが出てうまくいかない場合、
エラーメッセージの内容を書いてみましょう。
エラーメッセージにはエラー原因が詳しく書かれていることが多く、
問題の解決につながる回答が得られるかもしれません。
■ベストアンサーについて
ご質問の締め切りに際して、運営チームにて
ベストアンサーを選んでおります。
※ベストアンサーの回答者様には通常と同様のポイントが
付与されています。
--ネットオウル運営チーム--
- 投稿者:ネットオウル運営 投稿時間:2017/05/10 10:59
回答 No.5967
この回答がベストアンサーです
>>
この PDO オブジェクトが存在する間、 接続がアクティブであり続けます。接続を閉じるには、他から 参照されていないことを保障することでオブジェクトを破棄する 必要があります。それには、オブジェクトを保持している変数に対して NULL を代入します。
明示的にこれを行わなかった場合は、スクリプトの終了時に自動的に 接続が閉じられます。
http://php.net/manual/ja/pdo.connections.php
<<
質問者からのコメント
素早い回答有難うございます。
NULLを設定してもしなくても接続は解除されるんですね。良く分かりました。