//$query is set here
if ($result = mysql_query($query, $db)) {
コードのこの部分は、データベース クエリがどうあるべきかを宣言し、それを実行しようとします。 myssql_queryデータベースにデータの要求を実行します (またはデータを入力しようとします) が、正しくフォーマットされていないか、データベースにエラーがあるか、別のサーバー上にありそのサーバーがダウンしているか、データベースが接続しているデータの制限に一致しないデータの問題。
いずれにせよ、データベースからデータを要求し、そのデータを に入れようとします$result。しかし - データベースにデータを入れる際に問題がある場合、 に入れるデータがなく$result、ifステートメントはそれを false と見なし、最初の if ループに入りません。
$number = mysql_num_rows($result);
if ($number == 0) {
ある意味では、これは似たようなことをしています。以前のプログラマーは基本的に、何が起こっても、$queryデータに対するデータベース要求 (またはデータの入力) は、少なくとも 1 行のデータを返す必要があると宣言しています。すべてが正常に動作しているように見え、サーバーは動作しており、データベースも動作しており、クエリは拒否されていませんが、データ行が返されていない場合は、まだ何か問題があります。おそらくコードの論理エラーか、ユーザーが入力したフィールドの不適切な形式のデータか、誰にもわかりません。しかし、いずれにせよ、何も返されない場合、彼はここで何かが非常に間違っていることを示したいと考えています.