回答編集履歴
3
補足
answer
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
var_dump($stmt->fetchAll());
|
14
14
|
```
|
15
15
|
|
16
|
-
DB切断前に結果セットとしてのPDOStatement クラスのオブジェクト`$stmt`が取得出来ているので、`var_dump()`は`users`テーブルの中身を表示することが出来ます。
|
16
|
+
DB切断前に結果セットとしてのPDOStatement クラスのオブジェクト`$stmt`が取得出来ているので、`var_dump()`は`users`テーブルの中身を表示することが出来ます。(結果セットからfetchするのにDB接続は必要ありません)
|
17
17
|
[PDOStatement クラス](https://www.php.net/manual/ja/class.pdostatement.php)
|
18
18
|
|
19
19
|
例示のソースコードでは多分HTMLテーブルの中で`$結果セット->fetchAssoc()`で既に取得されていた結果を表示しているのだと思います。
|
2
追記
answer
CHANGED
@@ -1,6 +1,27 @@
|
|
1
|
-
|
1
|
+
例えばこんな感じのソースがあった場合
|
2
2
|
|
3
|
+
```PHP
|
4
|
+
<?php
|
3
5
|
|
6
|
+
$dbh = new PDO('mysql:dbname=xxx;host=127.0.0.1', 'root', 'rootpasswd');
|
7
|
+
$sql = "select * from users;";
|
8
|
+
$stmt = $dbh->query($sql);
|
9
|
+
|
10
|
+
//DB切断
|
11
|
+
$dbh = null;
|
12
|
+
|
13
|
+
var_dump($stmt->fetchAll());
|
14
|
+
```
|
15
|
+
|
16
|
+
DB切断前に結果セットとしてのPDOStatement クラスのオブジェクト`$stmt`が取得出来ているので、`var_dump()`は`users`テーブルの中身を表示することが出来ます。
|
17
|
+
[PDOStatement クラス](https://www.php.net/manual/ja/class.pdostatement.php)
|
18
|
+
|
19
|
+
例示のソースコードでは多分HTMLテーブルの中で`$結果セット->fetchAssoc()`で既に取得されていた結果を表示しているのだと思います。
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
4
25
|
以下修正前の回答
|
5
26
|
---
|
6
27
|
|
1
修正
answer
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
質問を誤解していた気がするので修正中
|
2
|
+
|
3
|
+
|
4
|
+
以下修正前の回答
|
5
|
+
---
|
6
|
+
|
1
7
|
多分Finallyの挙動について勘違いしているんだと思います。
|
2
8
|
|
3
9
|
[PHPマニュアル例外(exceptions) ](https://www.php.net/manual/ja/language.exceptions.php)
|