質問編集履歴

2

質問内容の詳細を追加

2018/08/11 09:07

投稿

pen_maru
pen_maru

スコア9

test CHANGED
File without changes
test CHANGED
@@ -9,6 +9,30 @@
9
9
  データベースにデータが入っているにもかかわらずselectの結果がfalseとなります。
10
10
 
11
11
  また、エラーメッセージにはテーブルが存在しないという内容になってしまいます。
12
+
13
+
14
+
15
+ クエリを実行した後に、
16
+
17
+ if ($stmt===false) {
18
+
19
+ print('失敗。<br>');
20
+
21
+ }
22
+
23
+ としたときに、失敗と表示されたので、$stmtの中身が空になっている?のかと思いました。
24
+
25
+
26
+
27
+ また、データベースが存在し、テーブルとその中身があることの確認は
28
+
29
+ コマンドプロンプトからmysqlに接続し
30
+
31
+ select number, name, body, date, pass from db_sample.post;
32
+
33
+ を実行した際にうまく表示されたので、SQL文が間違っているわけじゃないと思うのですが・・
34
+
35
+
12
36
 
13
37
  何が原因でしょうか?
14
38
 

1

書式の改善

2018/08/11 09:07

投稿

pen_maru
pen_maru

スコア9

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  ```
32
32
 
33
- array ( 0 => '42S02', 1 => 1146, 2 => 'Table \'db_sample.post\' doesn\'t exist', )
33
+ string(104) "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db_sample.post' doesn't exist"
34
34
 
35
35
  ```
36
36
 
@@ -64,9 +64,7 @@
64
64
 
65
65
  $pdo = new PDO($dsn, $user, $mypass);
66
66
 
67
- array(PDO::ATTR_EMULATE_PREPARES => false);
67
+ $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
68
-
69
-
70
68
 
71
69
 
72
70
 
@@ -108,7 +106,13 @@
108
106
 
109
107
  } catch (PDOException $e) {
110
108
 
109
+
110
+
111
- print('データベース接続失敗。');
111
+ var_dump($e->getMessage());
112
+
113
+ exit;
114
+
115
+
112
116
 
113
117
  }
114
118