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

回答編集履歴

2

URLをリンクしました。

2020/02/17 14:27

投稿

faaa
faaa

スコア31

answer CHANGED
@@ -38,7 +38,7 @@
38
38
  また、シングルクォーテーションの中にダブルクォーテーションがある場合や、その逆などの状況では、どちらを使うか工夫する必要があります。
39
39
 
40
40
  ※参考
41
- https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double
41
+ [https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.double)
42
42
 
43
43
  これらを踏まえると、以下のようになります。
44
44
  ※この後の例ではSQLのシングルクォーテーションとダブルクォーテーションを正して書いています。
@@ -63,11 +63,11 @@
63
63
  ```
64
64
 
65
65
  ※参考
66
- https://www.php.net/manual/ja/function.sprintf.php
66
+ [https://www.php.net/manual/ja/function.sprintf.php](https://www.php.net/manual/ja/function.sprintf.php)
67
67
 
68
68
 
69
69
  また他の方も指摘するように、プリペアドステートメントという方法でSQLの変数以外を作っておいて変数を設定してSQLを完成させる方法がセキュリティ的に望ましいので、最終的にはそういう方法でSQLを実行するのが良いですが、まぁ、後でやればいいことです(今はもっと基本的なことを学ぶべきです)。
70
70
 
71
71
  ※参考
72
+ [https://www.php.net/manual/ja/pdo.prepared-statements.php](https://www.php.net/manual/ja/pdo.prepared-statements.php)
72
- https://www.php.net/manual/ja/pdo.prepared-statements.php
73
+ [https://www.php.net/manual/ja/pdo.prepare.php](https://www.php.net/manual/ja/pdo.prepare.php)
73
- https://www.php.net/manual/ja/pdo.prepare.php

1

※sprintf()の書き漏れを訂正

2020/02/17 14:27

投稿

faaa
faaa

スコア31

answer CHANGED
@@ -55,7 +55,11 @@
55
55
  こんな風にするともっと分かりやすいかも。
56
56
  ```PHP
57
57
  $sql = "INSERT INTO memos SET memo='%s',created_at=%s";
58
+ $db->exec(sprintf($sql, $memo, 'now()'));
59
+
60
+ ※sprintf()の書き漏れを訂正[2/16 14:40]
58
- $db->exec($sql, $memo, 'now()');
61
+ 前:$db->exec($sql, $memo, 'now()');
62
+ 後:$db->exec(sprintf($sql, $memo, 'now()'));
59
63
  ```
60
64
 
61
65
  ※参考