奇怪的mysql_fetch_array输出

Vek*_*r88 -2 php mysql

我的代码是:

$query = "SELECT a.hash, a.full, a.partial, a.servers, a.lastupd, b.full, b.partial, b.servers, b.lastupd FROM table1 AS a, table2 AS b WHERE a.hash='".$hashcode."' AND a.hash=b.hash;";
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)

然后我表演了

print_r(mysql_fetch_array($result));
Run Code Online (Sandbox Code Playgroud)

我得到了这个奇怪的输出:

Array
(
    [0] => blah
    [hash] => blah
    [1] => 1,1,1
    [full] => 0,1
    [2] => 1,2,1
    [partial] => 4,2
    [3] => srv1,srv2,srv3
    [servers] => srv2,srv3
    [4] => 0000-00-00 00:00:00
    [lastupd] => 0000-00-00 00:00:00
    [5] => 0,1
    [6] => 4,2
    [7] => srv2,srv3
    [8] => 0000-00-00 00:00:00
)
Run Code Online (Sandbox Code Playgroud)

为什么有数据重复的b表,并且不产生带有按键的关联数组a.*b.*

注意:时间戳设置为0是正确的

Mos*_*eyi 5

因为mysql_fetch_array返回关联数组和数字数组.如果只需要关联数组,请使用mysql_fetch_assoc.

(顺便说一句,不推荐使用mysql,请阅读使用mysqli或PDO)