次のフィールドを持つテーブルがあります。
row_id
first_field
second_field
row_idは整数型で、自動インクリメントに設定され、主キーです。他の2つのフィールドはテキストタイプです。
テーブルには最大5行が入力されます。そのため、row_idの値は1、2、3、4、および5です。
私はまた、私の最初のテーブルと1対多の対応を持つ同様の構造の別のテーブルを持っています。
選択クエリを実行して結果をmysql_fetch_arrayにフィードすると、奇妙なことが起こります。
私がこれを実行するとき:
$query = "select a.*, b.* from table1 as a
left join table2 as b on a.row_id = b.row_id";
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
echo '<pre>'; print_r($row); echo '</pre>';
}
私はこれを手に入れます:
Array
(
[0] => 1
[row_id] => 1
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
Array
(
[0] => 2
[row_id] => 2
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
Array
(
[0] => 3
[row_id] =>
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
Array
(
[0] => 4
[row_id] =>
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
Array
(
[0] => 5
[row_id] =>
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
各配列の結果で、最初のフィールドrow_idに注意を向けたいと思います。最初の2つの配列では、インデックス0とrow_idの値は同じですが、後続の3つの配列では、インデックス0のみに値があります。row_idはnullのようです。
このようなものに出会ったのはこれが初めてです。これを引き起こしているのは何ですか?どうすればこれを修正できますか?
ありがとう!