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

回答編集履歴

2

修正

2016/03/28 09:31

投稿

shi_ue
shi_ue

スコア4437

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  ```PHP
2
2
  $result = mysql_query("SELECT * FROM sp ORDER BY reg_date_sp DESC WHERE title LIKE %'$keyword%'", $con);
3
3
  ↓↓↓
4
- $result = mysql_query("SELECT * FROM sp ORDER BY reg_date_sp DESC WHERE title LIKE '%$keyword%'", $con);
4
+ $result = mysql_query("SELECT * FROM sp WHERE title LIKE '%$keyword%' ORDER BY reg_date_sp DESC", $con);
5
5
  ```では?
6
6
  あと、`mysql`系のAPIは非推奨です。`mysqli`か`PDO`を使いましょう。
7
7
 

1

修正

2016/03/28 09:31

投稿

shi_ue
shi_ue

スコア4437

answer CHANGED
@@ -3,4 +3,8 @@
3
3
  ↓↓↓
4
4
  $result = mysql_query("SELECT * FROM sp ORDER BY reg_date_sp DESC WHERE title LIKE '%$keyword%'", $con);
5
5
  ```では?
6
- あと、`mysql`系のAPIは非推奨です。`mysqli`か`PDO`を使いましょう。
6
+ あと、`mysql`系のAPIは非推奨です。`mysqli`か`PDO`を使いましょう。
7
+
8
+ また、入力された文字を直接SQLに入れてはいけません。SQLインジェクションされます。
9
+ プリペアドステートメントを使いましょう。
10
+ [http://php.net/manual/ja/pdo.prepared-statements.php](http://php.net/manual/ja/pdo.prepared-statements.php)