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

回答編集履歴

2

edit

2021/04/29 08:12

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -14,6 +14,8 @@
14
14
  `=`は代入
15
15
  `==`、`===`は比較
16
16
 
17
+ ifには「式」を入れますが代入も「式」であるためエラーになりません。
18
+ 代入結果がfalseになることってないので、必ず通ります。
17
19
 
18
- ifには「式」を入れますが代入も「式」であるためエラーになりません。
19
- 代入結果がfalseになってので、必ず通ります。
20
+ また、代入はつまるところ上書きなので、別の値が入っててもなくなります。
21
+ [文字列演算子](https://www.php.net/manual/ja/language.operators.string.php)あたりも確認してください。

1

edit

2021/04/29 08:12

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -2,14 +2,18 @@
2
2
 
3
3
  Syntax エラーは構文エラーで正しくない。正しくないからエラーが出ています。
4
4
 
5
+ ひとまずいきなりPHPから実行するのではなく、DBに対して直接実行して想定のデータを得られるSQLを組んで想定の結果を得られてからPHPでそのSQLになるように組み立ててください。
6
+
7
+ 直接実行して想定の結果が得られなければ、PHPから実行しても想定の結果は得られません。
8
+
9
+ SQLインジェクションの脆弱性があったり、画面に出力しない項目に対してHTMLエスケープ対応していたり、実装として非常にまずいところは沢山ありますが、1つずつやっていくと良いです。
10
+
11
+ ----
12
+
13
+ 直接的なヒントとしては
5
14
  `=`は代入
6
15
  `==`、`===`は比較
7
16
 
8
17
 
9
18
  ifには「式」を入れますが代入も「式」であるためエラーになりません。
10
-
11
- あと、ひとまずいきなりPHPから実行するのではなく、DBに対して直接実行して想定のデータを得られるSQLを組んで想定の結果を得られてからPHPでそのSQLになるように組み立ててください。
12
-
13
- 直接実行して想定の結果が得られければ、PHPから実行しも想定結果は得られせん
19
+ 代入結果がfalseにることっないで、必ず通り
14
-
15
- 他にもSQLインジェクションの脆弱性があったり、画面に出力しない項目に対してHTMLエスケープ対応していたり、実装として非常にまずいところは沢山ありますが、1つずつやっていくと良いです。