回答編集履歴
3
加筆修正
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
加筆修正
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
加筆修正
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
|
+
> カラム名、インデックス名、ストアドルーチン名、およびイベント名は、どのプラットフォームでも大文字と小文字が区別されません。カラムのエイリアスも同様です。
|