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

回答編集履歴

1

パラメータクエリの構文を使用したソースコードを記載しました。

2018/10/14 12:47

投稿

kaba
kaba

スコア314

answer CHANGED
@@ -8,7 +8,29 @@
8
8
  $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
9
9
  にすればいいのですが、別の弊害が発生する可能性があるので、SQLを ? を使用した
10
10
  パラメータクエリに変更する方がいいです。
11
+ ```php
12
+ /* ここをパラメータクエリに修正する
13
+ $stmt = $db->prepare("
14
+ INSERT INTO bbs1 (name1, title1, body1, date1 )
15
+ VALUES (:name1, :title1, :body1, now() )"
16
+ );
11
17
 
18
+ //パラメータを割り当て
19
+ $stmt->bindParam(':name1', $name1, PDO::PARAM_STR);
20
+ $stmt->bindParam(':title1', $title1, PDO::PARAM_STR);
21
+ $stmt->bindParam(':body1', $body1, PDO::PARAM_STR);
22
+ */
23
+ $stmt = $db->prepare("
24
+ INSERT INTO bbs1 (name1, title1, body1, date1 )
25
+ VALUES (?, ?, ?, now() )"
26
+ );
27
+
28
+ //パラメータを割り当て
29
+ $stmt->bindParam(1, $name1, PDO::PARAM_STR);
30
+ $stmt->bindParam(2, $title1, PDO::PARAM_STR);
31
+ $stmt->bindParam(3, $body1, PDO::PARAM_STR);
32
+ ```
33
+
12
34
  ついでに、エラー内容が分かりにくいので、
13
35
  ```php
14
36
  } catch(PDOException $e) {