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

回答編集履歴

2

追記

2016/12/02 08:16

投稿

himakuma
himakuma

スコア952

answer CHANGED
@@ -32,4 +32,15 @@
32
32
  // $data[] = $pass;
33
33
  // $stmt->execute($data);
34
34
  $stmt->execute();
35
- ```
35
+ ```
36
+
37
+ 追記:
38
+ 次は下記のようにしてみてください。
39
+ ```PHP
40
+ $sql = 'SELECT name FROM user WHERE mail=? AND password=?';
41
+ $stmt = $dbh->prepare($sql);
42
+ $data = array();
43
+ $data[] = $mail;
44
+ $data[] = $pass;
45
+ $stmt->execute($data);
46
+ ```

1

コメントに対しての追記

2016/12/02 08:16

投稿

himakuma
himakuma

スコア952

answer CHANGED
@@ -8,4 +8,28 @@
8
8
  $rec = $stmt->fetch(PDO::FETCH_ASSOC);
9
9
  $dbh = null;
10
10
 
11
+ ```
12
+
13
+ 追記:
14
+ 固定のSQLとは、バインド変数がないSQLを指しています。
15
+
16
+ 今回の場合、
17
+ ```PHP
18
+ $sql = 'SELECT name FROM user WHERE mail=? AND password=?';
19
+ $stmt = $dbh->prepare($sql);
20
+ $data[] = $mail;
21
+ $data[] = $pass;
22
+ $stmt->execute($data);
23
+ ```
24
+
25
+ を、下記のようにリクエスト情報抜きで実行した場合です。
26
+
27
+ ```PHP
28
+ // $sql = 'SELECT name FROM user WHERE mail=? AND password=?';
29
+ $sql = "SELECT name FROM user WHERE mail='aaa' AND password='aaa'";
30
+ $stmt = $dbh->prepare($sql);
31
+ // $data[] = $mail;
32
+ // $data[] = $pass;
33
+ // $stmt->execute($data);
34
+ $stmt->execute();
11
35
  ```