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

回答編集履歴

3

調整

2020/01/20 02:40

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
 
6
6
  正しく実行できるSQLなのかを直にDBに対して実行して確認してください。
7
+ **直に実行して通らないSQLは当然PHPからも動きません。**
7
8
  [try-catchでException捕捉する](https://www.php.net/manual/ja/class.mysqli-sql-exception.php)のが良いです。
9
+ 文法的なものはMySQLのドキュメントを読みましょう。
8
10
 
9
11
  文字列を送る場合はシングルクォートでくくるのがルールですが、それで通ったとしてもSQLインジェクションの脆弱性は残るので、プリペアドステートメントは導入しましょう。
10
12
 

2

調整

2020/01/20 02:40

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
  あと、セキュリティに関することなのでインジェクションついでに指摘すると、
12
12
  パスワードを平文で保存するのはやめましょう。
13
- (あとできればmysqliよりPDOを採用しましょう)
13
+ (あとできれば[mysqliよりPDOを採用しましょう](https://teratail.com/questions/40450))

1

調整

2020/01/20 02:26

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -7,4 +7,7 @@
7
7
  [try-catchでException捕捉する](https://www.php.net/manual/ja/class.mysqli-sql-exception.php)のが良いです。
8
8
 
9
9
  文字列を送る場合はシングルクォートでくくるのがルールですが、それで通ったとしてもSQLインジェクションの脆弱性は残るので、プリペアドステートメントは導入しましょう。
10
+
11
+ あと、セキュリティに関することなのでインジェクションついでに指摘すると、
12
+ パスワードを平文で保存するのはやめましょう。
10
13
  (あとできればmysqliよりPDOを採用しましょう)