回答編集履歴
1
修正
test
CHANGED
@@ -25,3 +25,63 @@
|
|
25
25
|
|
26
26
|
|
27
27
|
古い書籍なのか、初心者向けなのか分からないですが、初心者でもあまり参考にしてほしくない書籍・コードだと個人的には思います。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
追記を受けて
|
32
|
+
|
33
|
+
----
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
> 「変数の情報と適応する情報が入った列が何行あるのか?」を取得するという認識で正しいのでしょうか?
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
「変数の情報と」の意味が分からないですが、おおよそ理解通りかと。
|
42
|
+
|
43
|
+
PHPマニュアルにある「結果の行数」とは「今回の場合はSELECT文を実行した結果の行数」が入っていると考えて良いです。
|
44
|
+
|
45
|
+
select文の条件を色々変えてみたうえでmysqli_num_rows()の結果をechoで出力してみてどうなるか確認してみると良いです。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
> ここで二つめの質問なのですが、ここで取得した連想配列とは、下のようなものでしょうか?
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
データによるので取得結果をvar_dump()で確認してみては如何でしょうか。
|
54
|
+
|
55
|
+
「想定通りの情報が入っているか」デバッグにもなるのでぜひ確認してみてください。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
> $row['username']というのはどのような意味なのでしょうか?
|
60
|
+
|
61
|
+
予想では、ユーザーネームに入っている配列の「username」キーの情報を変数に格納するという意味だと思うのですが・・・・
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
ここで「予想」してしまうとプログラミングの概念的におかしくなります。
|
66
|
+
|
67
|
+
プログラムは**書いたとおりにしか動かない**ので実態を確認すべきです。
|
68
|
+
|
69
|
+
1つ前で結果をvar_dump()で確認すればこの疑問の理解が進み、解消できますね。
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
> 最後の質問なのですが、exit();は必要なのでしょうか?
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
はい。基本的には必要とは思います。
|
78
|
+
|
79
|
+
なぜなら[header](https://www.php.net/manual/ja/function.header.php)はあくまでレスポンスを定義するものであり、リダイレクトを宣言したからといって、その時点で画面遷移が起こるわけではないからです。
|
80
|
+
|
81
|
+
試しにheader()の直後に何か処理(できればログ出力とか、セッションとかで画面遷移しても影響が確認できる処理)を記載してみると良いです。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
exitを書くのは**これ以降は何も処理を行いません**という意味で「プログラムを終了させる」ためであると言っても良いです。
|
86
|
+
|
87
|
+
もちろん「お作法のように書いておこう」ということであり、exitを書かなくても済むようなプログラムが望ましいですけど、「必ず何もない前提」のようなプログラミングもよろしくありません。
|