teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

解決方法の追記

2020/02/05 08:27

投稿

Be_ginner
Be_ginner

スコア5

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\phplesson\chap01\hello.php on line 29
10
10
 
11
- ### 該当のソースコード
11
+ ### 該当のソースコード(追記:データベースに正しく接続されていないことが原因でした)
12
12
 
13
13
  ```PHP
14
14
  <?php
@@ -54,11 +54,7 @@
54
54
  Trying to access array offset on value of type bool in C:\xampp\htdocs\phplesson\chap01\hello.php on line 30
55
55
  と表示されてしまいました。
56
56
 
57
-
58
- ### 補足情報(FW/ツールのバージョンなど)
59
- store_data は ID, Store_Name, Card 要素す。
57
+ ###追記(追記:ATTR_EMULATE_PREPARES誤字した)
60
-
61
- ###追記
62
58
  データベースに接続できていないことがわかり、接続できているかを調べましたが、「エラーがありました」と表示されました。「SELECT ID FROM store_data WHERE ID = 1」をPHPMyAdmin のe-money-testのSQL欄で実行してみたところ、エラーは出ずstore_data の ID = 1の表が表示されました。
63
59
 
64
60
 
@@ -90,4 +86,5 @@
90
86
  // echo $e->getMessage;
91
87
  exit();
92
88
  }
89
+
93
90
  ```

3

誤字

2020/02/05 08:27

投稿

Be_ginner
Be_ginner

スコア5

title CHANGED
File without changes
body CHANGED
@@ -59,7 +59,7 @@
59
59
  store_data は ID, Store_Name, Card が要素です。
60
60
 
61
61
  ###追記
62
- データベースに接続できていないことがわかり、接続できているかを調べましたが、「エラーがありました」と表示されました。「SELECT ID FROM store_data WHERE ID = 1」をe-money-testのSQL欄で実行してみたところ、エラーは出ずstore_data の ID = 1の表が表示されました。
62
+ データベースに接続できていないことがわかり、接続できているかを調べましたが、「エラーがありました」と表示されました。「SELECT ID FROM store_data WHERE ID = 1」をPHPMyAdmin のe-money-testのSQL欄で実行してみたところ、エラーは出ずstore_data の ID = 1の表が表示されました。
63
63
 
64
64
 
65
65
  ```php

2

新しいコード

2020/02/05 06:23

投稿

Be_ginner
Be_ginner

スコア5

title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,6 @@
49
49
  ```
50
50
 
51
51
  ### 試したこと
52
-
53
52
  foreach ((array)$stmt as $row): 
54
53
  とすると、
55
54
  Trying to access array offset on value of type bool in C:\xampp\htdocs\phplesson\chap01\hello.php on line 30
@@ -57,4 +56,38 @@
57
56
 
58
57
 
59
58
  ### 補足情報(FW/ツールのバージョンなど)
60
- store_data は ID, Store_Name, Card が要素です。
59
+ store_data は ID, Store_Name, Card が要素です。
60
+
61
+ ###追記
62
+ データベースに接続できていないことがわかり、接続できているかを調べましたが、「エラーがありました」と表示されました。「SELECT ID FROM store_data WHERE ID = 1」をe-money-testのSQL欄で実行してみたところ、エラーは出ずstore_data の ID = 1の表が表示されました。
63
+
64
+
65
+ ```php
66
+ <?php
67
+ //データベース定義
68
+ $user = 'root';
69
+ $password = 'root';
70
+ $dbName='e-money-test';
71
+ $host = 'localhost';
72
+ $dsn="mysql:host={$host};dbname={$dbName};charset=utf8mb4";
73
+
74
+ //データベース接続
75
+
76
+ try {
77
+ $pdo = new PDO($dsn, $user, $password);
78
+ $pdo->setAttribute(PDO::ATTER_EMULATE_PREPARES, false);
79
+ $pdo->setAttribute(PDO::ATTER_ERRMODE, PDO::ERRMODE_EXCEPTION);
80
+
81
+ echo '接続できました';
82
+ $stmt = $db -> prepare("SELECT ID FROM store_data WHERE ID = ?");
83
+ $stmt = bindvalue(1, 1);
84
+ $stmt = execute();
85
+
86
+ var_dump($stmt);
87
+
88
+ } catch (Exception $e){
89
+ echo 'エラーがありました。';
90
+ // echo $e->getMessage;
91
+ exit();
92
+ }
93
+ ```

1

タイトル・前提

2020/02/05 06:19

投稿

Be_ginner
Be_ginner

スコア5

title CHANGED
@@ -1,1 +1,1 @@
1
- PHP によるMyAdminからのデータ取得、検索
1
+ PHP 検索機能を作りたい。
body CHANGED
@@ -1,5 +1,7 @@
1
+ 質問を修正しました。
2
+
1
3
  ### 前提・実現したいこと
2
- PHPMyadmin にあるデータをPHPで検索しようとしています。
4
+ MYSQL内のDBをPHPで検索しようとしています。
3
5
 
4
6
  ### 発生している問題・エラーメッセージ
5
7
  foreach()が配列になっていないことが問題なのはわかったのですが、配列にする方法が分かりません。