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

回答編集履歴

3

見直し

2021/04/13 08:43

投稿

退会済みユーザー
answer CHANGED
@@ -23,5 +23,9 @@
23
23
  `mysqli_fetch_array()`の引数には適さないです。
24
24
 
25
25
  なるべくは、
26
- INSERT INTO文を単独で実行した後SELECT文を実行する
26
+ INSERT INTO文を単独で実行した後、改めてSELECT文を実行してmysqli_fetch_array()するよう
27
+ コードの見直しをしていただくのが良いかと。
28
+ また、老婆心ながら、
29
+ SQL文内に変数を直接展開せず[mysqli_prepare](https://www.php.net/manual/ja/mysqli.prepare.php)しつつ
27
- 願わくばSQL文内に変数を直接展開せず[mysqli_prepare](https://www.php.net/manual/ja/mysqli.prepare.php)しつつ[mysqli_stmt_bind_param](https://www.php.net/manual/ja/mysqli-stmt.bind-param.php)して安全にクエリーに組み込んでいただきたく。
30
+ [mysqli_stmt_bind_param](https://www.php.net/manual/ja/mysqli-stmt.bind-param.php)して安全にクエリーに組み込んでいただきたく。
31
+ (SQLインジェクションって一度調べてみてください。)

2

見直し

2021/04/13 08:43

投稿

退会済みユーザー
answer CHANGED
@@ -17,7 +17,9 @@
17
17
  >
18
18
  > 失敗した場合に false を返します。 結果セットを生成するクエリ、 つまり SELECT, SHOW, DESCRIBE あるいは EXPLAIN が成功した場合は、mysqli_query() は mysqli_result オブジェクトを返します。それ以外のクエリが成功した場合は、 mysqli_query() は true を返します。
19
19
 
20
- INSERT INTO文を実行すると、おそらくtrueが返ってくるので、
20
+ INSERT INTO文を実行すると、おそらくtrueが返ってきます。
21
+ [mysqli_fetch_array](https://www.php.net/manual/ja/mysqli-result.fetch-array.php)の引数として`mysqli_result $result`型である必要があって、
22
+ 「SELECT, SHOW, DESCRIBE あるいは EXPLAIN が成功した場合」にしか得られません。
21
23
  `mysqli_fetch_array()`の引数には適さないです。
22
24
 
23
25
  なるべくは、

1

加筆

2021/04/13 08:41

投稿

退会済みユーザー
answer CHANGED
@@ -18,4 +18,8 @@
18
18
  > 失敗した場合に false を返します。 結果セットを生成するクエリ、 つまり SELECT, SHOW, DESCRIBE あるいは EXPLAIN が成功した場合は、mysqli_query() は mysqli_result オブジェクトを返します。それ以外のクエリが成功した場合は、 mysqli_query() は true を返します。
19
19
 
20
20
  INSERT INTO文を実行すると、おそらくtrueが返ってくるので、
21
- `mysqli_fetch_array()`の引数には適さないです。
21
+ `mysqli_fetch_array()`の引数には適さないです。
22
+
23
+ なるべくは、
24
+ INSERT INTO文を単独で実行した後SELECT文を実行する、
25
+ 願わくばSQL文内に変数を直接展開せず[mysqli_prepare](https://www.php.net/manual/ja/mysqli.prepare.php)しつつ[mysqli_stmt_bind_param](https://www.php.net/manual/ja/mysqli-stmt.bind-param.php)して安全にクエリーに組み込んでいただきたく。