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

回答編集履歴

6

回答追記

2017/01/27 06:55

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -21,3 +21,14 @@
21
21
  実行結果
22
22
  > string(56) "SELECT COUNT(*) AS count FROM test WHERE keyword = "$no""
23
23
  > string(62) "SELECT COUNT(*) AS count FROM test WHERE keyword = "北海道""
24
+
25
+ ```PHP
26
+ <?php
27
+ $no='北海道';
28
+ echo var_export('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"', true) . PHP_EOL;
29
+ echo var_export('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"', true) . PHP_EOL;
30
+ ```
31
+
32
+ 実行結果
33
+ > 'SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"'
34
+ > 'SELECT COUNT(*) AS count FROM test WHERE keyword = "北海道"'

5

回答追記

2017/01/27 06:55

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -10,3 +10,14 @@
10
10
  ```
11
11
  としてみれば、なぜダメなのかが解ると思います。
12
12
  ※ちなみに日本語でなくてもだめです。
13
+
14
+ ```PHP
15
+ <?php
16
+ $no='北海道';
17
+ var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"');
18
+ var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"');
19
+ ```
20
+
21
+ 実行結果
22
+ > string(56) "SELECT COUNT(*) AS count FROM test WHERE keyword = "$no""
23
+ > string(62) "SELECT COUNT(*) AS count FROM test WHERE keyword = "北海道""

4

回答に追記

2017/01/27 06:48

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  ```PHP
8
8
  var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"');
9
+ var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"');
9
10
  ```
10
11
  としてみれば、なぜダメなのかが解ると思います。
11
12
  ※ちなみに日本語でなくてもだめです。

3

追記

2017/01/27 06:20

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -8,3 +8,4 @@
8
8
  var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"');
9
9
  ```
10
10
  としてみれば、なぜダメなのかが解ると思います。
11
+ ※ちなみに日本語でなくてもだめです。

2

回答修正

2017/01/27 06:14

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -6,7 +6,5 @@
6
6
 
7
7
  ```PHP
8
8
  var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"');
9
-
10
- $result = mysql_query('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"');
11
9
  ```
12
10
  としてみれば、なぜダメなのかが解ると思います。

1

回答修正

2017/01/27 06:12

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -2,6 +2,7 @@
2
2
  $result = mysql_query('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"');
3
3
  ```
4
4
  とすれば質問に記載のものであれば動くと思います。
5
+ ※ ただ、SQL文を$_GETの値をもとに文字列で作成するのはお勧めしません。SQL インジェクションの脆弱性を生むのでやめましょう。
5
6
 
6
7
  ```PHP
7
8
  var_dump('SELECT COUNT(*) AS count FROM test WHERE keyword = "$no"');
@@ -9,6 +10,3 @@
9
10
  $result = mysql_query('SELECT COUNT(*) AS count FROM test WHERE keyword = "' . $no . '"');
10
11
  ```
11
12
  としてみれば、なぜダメなのかが解ると思います。
12
-
13
-
14
- ※ ただ、SQL文を$_GETの値をもとに文字列で作成するのはお勧めしません。というかやめましょう。