このページは、PHPの PDOStatement::closeCursor() を使用しないとエラー(例外)になる例を検証してまとめたページです。
注意
- 下記のバージョンで検証したものです。別のバージョンや組み合わせでは違う動作になるかもしれません。
- PHP 8.1, MariaDB 10.4
- PHP 7.1, MariaDB 10.4
- 各コードは下記のコードが前にあるものとしています。
- 例示のコードを単純にするため、
prepare()
, bindValue()
, execute()
, fetch()
などの処理は除いています。
PDOStatement::closeCursor()を使用しないとエラーになる例
- 下記のようなSQLを実行し、結果セットが最後まで処理されていないときに別のSQLを実行する
- 非バッファモードでのSQLの実行 (非バッファモードの場合は最後の結果セットの最後の行まで処理されていないとエラー)
- 複文の実行
- ストアドプロシージャの実行
非バッファモードでのSQLの実行
複文の実行
ストアドプロシージャの実行
closeCursor()を使用しなくてもエラーにならない場合の例
PDOStatementをunset()している
PDOStatementが最後の結果セットまで処理されている