回答編集履歴

4

文章の軽微修正

2017/07/25 11:20

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- ただこれだと1行が長くなってしまいます。そんなときは [sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使うと見通しがよくなります。
17
+ ただこれだと1行が長くなってしまいますし、記号だらけで正直見づらいですよね。そんなときは [sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使うと見通しがよくなります。
18
18
 
19
19
 
20
20
 
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- `?` と書いた部分に、bindValue() 関数によって指定された文字がセットされます。
63
+ `?` と書いた部分に、bindValue() 関数によって指定された文字がセットされます。ちなみに ? をシングルクオートで囲んでいませんが、これは必要なエスケープ処理すべてをPDOが自動で行ってくれるためです。
64
64
 
65
65
 
66
66
 

3

波括弧について追記

2017/07/25 11:20

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -1,4 +1,20 @@
1
+ まずSQLのことは抜きして一般論を話します。PHPで複雑な表現の変数を文字列の中に展開したいときは主に2つの方法があります。
2
+
3
+
4
+
5
+ 1つめは[波括弧構文](http://php.net/manual/ja/language.types.string.php#language.types.string.parsing.complex)を使うことです。変数の表記を波括弧 `{}` で囲むことによって、これは変数名を表しているんだということをPHPに明確に伝えることができます。
6
+
7
+
8
+
9
+ ```php
10
+
11
+ $SQL = "SELECT * FROM Table Where CompanyID = '{$arrA[0]['CompanyID']}' ";
12
+
13
+ ```
14
+
15
+
16
+
1
- まずSQLのことは抜きし一般論を話します。PHPで複雑表現の変数を文字列の中に展開したい場合[sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使うのが手軽で、かつコードの見通しも良くなります。
17
+ ただれだ1行が長くなってしまいます。そんとき [sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使う見通しがよくなります。
2
18
 
3
19
 
4
20
 

2

誤字修正

2017/07/25 11:11

投稿

miyahan
miyahan

スコア3095

test CHANGED
File without changes

1

文章の軽微修正

2017/07/25 10:57

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -1,4 +1,4 @@
1
- まずPHP単体の話します。PHPで複雑な変数を文字列の中に展開したい場合は、[sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使うのが便利で、かつコードも見やす書けます。
1
+ まずSQLことは抜きして一般論を話します。PHPで複雑な表現の変数を文字列の中に展開したい場合は、[sprintf()](http://php.net/manual/ja/function.sprintf.php) 関数を使うのが手軽で、かつコードの見通しなります。
2
2
 
3
3
 
4
4
 
@@ -24,11 +24,11 @@
24
24
 
25
25
 
26
26
 
27
- つづいてこれをSQL文として見た場合、変数をSQL文に直接埋め込むのではなく、**プリペアドステートメント** という方法を使ってセットする方法が推奨されています。
27
+ つづいてこれをSQL文として見た場合、セキュリティの観点から変数をSQL文に直接埋め込むのではなく、**プリペアドステートメント** という方法を使ってセットことを強くおすめします。
28
28
 
29
29
 
30
30
 
31
- PDOというPHP標準のライブラリを使った場合はこんなコードになります:
31
+ 例えばPDOというPHP標準のライブラリを使った場合はこんなコードになります:
32
32
 
33
33
 
34
34
 
@@ -48,4 +48,4 @@
48
48
 
49
49
 
50
50
 
51
- データベース周りちょっしたバグ(脆弱性)が大事故につながりますので、ぜひ使って下さい。
51
+ 直接変数を埋め込むと、場合によってSQLインジェクションいう脆弱性が出来てしまい、データの破壊・改ざん、個人情報漏洩などの大事故につながりますので気をつけて下さい。