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

回答編集履歴

5

修正

2019/07/23 01:07

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -7,8 +7,13 @@
7
7
 
8
8
  [PHPでデータベースに接続するときのまとめ](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
9
9
 
10
- 基本的な点:
10
+ 基本的な点1
11
11
  シングルクォーテーション内では変数は展開できません。
12
12
 
13
13
  > [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
14
- 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**
14
+ 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**
15
+
16
+ 基本的な点2:
17
+ SQLにおいて文字列は`''`で囲わないとエラーとなります。
18
+
19
+ ※なのでやはりtry-catchは必須ですし[パラメータ→prepare→bindValue→execute](https://qiita.com/mpyw/items/b00b72c5c95aac573b71#pdoprepare--pdostatementbindvalue--pdostatementexecute-%E3%81%AE3%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B)の流れも必須

4

修正

2019/07/23 01:07

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -10,5 +10,5 @@
10
10
  基本的な点:
11
11
  シングルクォーテーション内では変数は展開できません。
12
12
 
13
- - [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
13
+ > [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
14
- > 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**
14
+ 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**

3

修正

2019/07/23 01:05

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -9,5 +9,6 @@
9
9
 
10
10
  基本的な点:
11
11
  シングルクォーテーション内では変数は展開できません。
12
+
12
- [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
13
+ - [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
13
14
  > 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**

2

修正

2019/07/23 01:05

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -8,4 +8,6 @@
8
8
  [PHPでデータベースに接続するときのまとめ](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
9
9
 
10
10
  基本的な点:
11
- シングルクォーテーション内では変数は展開できません。
11
+ シングルクォーテーション内では変数は展開できません。
12
+ [PHPマニュアル:文字列#引用符](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.single)
13
+ > 注意: ダブルクォート 構文や heredoc 構文とは異なり、 **変数と特殊文字のエスケープシーケンスは、 引用符 (シングルクオート) で括られた文字列にある場合には展開されません。**

1

修正

2019/07/23 01:04

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -5,4 +5,7 @@
5
5
 
6
6
  ただ、今のSQLの作り方だとSQLインジェクションの脆弱性があるので、値はパラメータにしてbindValue→executeの形をとった方が良いですし、try-catchによるPDOExceptionを拾うような仕組み、トランザクション→コミットorロールバックも入れましょう。
7
7
 
8
- [PHPでデータベースに接続するときのまとめ](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
8
+ [PHPでデータベースに接続するときのまとめ](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
9
+
10
+ 基本的な点:
11
+ シングルクォーテーション内では変数は展開できません。