質問編集履歴
2
質問内容の詳細を追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
phpでデータベースからデータを取得し、表示させるというプログラムを作っているのですが、
|
|
5
5
|
データベースにデータが入っているにもかかわらずselectの結果がfalseとなります。
|
|
6
6
|
また、エラーメッセージにはテーブルが存在しないという内容になってしまいます。
|
|
7
|
+
|
|
8
|
+
クエリを実行した後に、
|
|
9
|
+
if ($stmt===false) {
|
|
10
|
+
print('失敗。<br>');
|
|
11
|
+
}
|
|
12
|
+
としたときに、失敗と表示されたので、$stmtの中身が空になっている?のかと思いました。
|
|
13
|
+
|
|
14
|
+
また、データベースが存在し、テーブルとその中身があることの確認は
|
|
15
|
+
コマンドプロンプトからmysqlに接続し
|
|
16
|
+
select number, name, body, date, pass from db_sample.post;
|
|
17
|
+
を実行した際にうまく表示されたので、SQL文が間違っているわけじゃないと思うのですが・・
|
|
18
|
+
|
|
7
19
|
何が原因でしょうか?
|
|
8
20
|
|
|
9
21
|
|
1
書式の改善
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
### 発生している問題・エラーメッセージ
|
|
15
15
|
|
|
16
16
|
```
|
|
17
|
-
|
|
17
|
+
string(104) "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db_sample.post' doesn't exist"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
### 該当のソースコード
|
|
@@ -31,9 +31,8 @@
|
|
|
31
31
|
try {
|
|
32
32
|
$dsn = 'mysql:host=localhost;dbname=db_sample;charset=utf8';
|
|
33
33
|
$pdo = new PDO($dsn, $user, $mypass);
|
|
34
|
-
|
|
34
|
+
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
|
35
35
|
|
|
36
|
-
|
|
37
36
|
$sql = 'select number, name, body, date, pass from db_sample.post';
|
|
38
37
|
$stmt = $pdo->query($sql);
|
|
39
38
|
|
|
@@ -53,7 +52,10 @@
|
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
} catch (PDOException $e) {
|
|
55
|
+
|
|
56
|
-
|
|
56
|
+
var_dump($e->getMessage());
|
|
57
|
+
exit;
|
|
58
|
+
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
|