回答編集履歴

3

加筆修正

2021/01/06 00:17

投稿

退会済みユーザー
test CHANGED
@@ -1,10 +1,28 @@
1
1
  ```php
2
2
 
3
- $sql = "select * from example where C_nam = '".$C_nam."' and C_nm= ".$C_nm.";";
3
+ $sql = "select * from example where C_nam = '".$C_nam."' and C_nm= ".$C_nm.";";
4
4
 
5
- //$sql = 'select * from example where C_nam = '山田 太郎' and C_nm= 111111;
5
+ //$sql = 'select * from example where C_nam = '山田 太郎' and C_nm= 111111;
6
6
 
7
7
  ```
8
+
9
+ 引用符で疲弊しないよう、[ヒアドキュメント](https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc)構文も活用すると良いです。
10
+
11
+ ```php
12
+
13
+ $sql = <<<EOT
14
+
15
+ select * from example where C_nam = '$C_nam' and C_nm= $C_nm;
16
+
17
+ EOT;
18
+
19
+ //$sql = 'select * from example where C_nam = '山田 太郎' and C_nm= 111111;
20
+
21
+ ```
22
+
23
+
24
+
25
+ ところで、
8
26
 
9
27
  文字列連結でSQLクエリー文字列を編み上げるのは感心しません。
10
28
 

2

加筆修正

2021/01/06 00:17

投稿

退会済みユーザー
test CHANGED
@@ -36,6 +36,8 @@
36
36
 
37
37
  nameが識別子として特別なので、丁寧な命名をしたらいいかも。
38
38
 
39
+ (一週間後、一ヶ月後、一年後、nmって名前の識別子が意味することを思い出せる?)
40
+
39
41
 
40
42
 
41
43
  細かく言うと、処理系(PHPとSQLとJSでは世界が別)によって

1

加筆修正

2021/01/05 09:39

投稿

退会済みユーザー
test CHANGED
@@ -35,3 +35,33 @@
35
35
  タイプミスしたら危険。そして、見誤りやすい。
36
36
 
37
37
  nameが識別子として特別なので、丁寧な命名をしたらいいかも。
38
+
39
+
40
+
41
+ 細かく言うと、処理系(PHPとSQLとJSでは世界が別)によって
42
+
43
+ 大文字小文字が識別子として同一視するしないのルールが決まっているので、
44
+
45
+ 雑に扱うと痛い目に遭います。
46
+
47
+
48
+
49
+ PHPでは区別します。
50
+
51
+ [PHP: 基本的な事 - Manual](https://www.php.net/manual/ja/language.variables.basics.php)
52
+
53
+
54
+
55
+ > 変数名は大文字小文字を区別します。
56
+
57
+
58
+
59
+ [MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.2.2 識別子の大文字と小文字の区別](https://dev.mysql.com/doc/refman/5.6/ja/identifier-case-sensitivity.html)
60
+
61
+
62
+
63
+ > 基になるオペレーティングシステムで大文字と小文字が区別されるかどうかが、データベース名、テーブル名、およびトリガー名で大文字と小文字が区別されるかどうかに影響します。これは、Windows ではこれらの名前は大文字と小文字が区別されませんが、多くの Unix では大文字と小文字が区別されることを意味します。ただし、注意が必要な例外の 1 つに OS X があります。(以下略)
64
+
65
+
66
+
67
+ > カラム名、インデックス名、ストアドルーチン名、およびイベント名は、どのプラットフォームでも大文字と小文字が区別されません。カラムのエイリアスも同様です。