-2

私のコードは次のとおりです。

$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);

それから私は

print_r(mysql_fetch_array($result));

そして、私はこの奇妙な出力を得ます:

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
)

table にデータの繰り返しがあり、キーとbを持つ連想配列を作成しないのはなぜですか?a.*b.*

注: 0 に設定されたタイムスタンプは正しいです

4

1 に答える 1

5

mysql_fetch_array は連想配列と数値配列の両方を返すためです。連想配列のみが必要な場合は、mysql_fetch_assoc を使用します。

(ちなみに、mysql は非推奨です。mysqli または PDO の使用について読んでください)

于 2012-12-17T13:24:51.213 に答える