我有一个包含以下字段的表:
row_id
first_field
second_field
row_id 是整数类型,设置为自动递增并且是主键。其他两个字段是文本类型。
该表最多填充五行。因此,row_id 的值为 1、2、3、4 和 5。
我还有另一个类似结构的表,它与我的第一个表具有一对多的对应关系。
但是当我进行选择查询并将结果提供给 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。在前两个数组中,索引 0 和 row_id 具有相同的值,而在随后的三个数组中,只有索引 0 具有值。row_id 似乎为空。
这是我第一次遇到这样的事情。这是什么原因造成的?如何解决?
谢谢!