MySQL查询返回两个数组项,原因是什么


MySQL query returns two array items, why?

我在两个表上运行此查询,在第一个表中,表必须满足两个条件,WHERE tblhosting.server=tblservers.id and tblhosting.domain='provided domain'。"提供的域是唯一的,这里是完整的查询:

$result = mysql_query("SELECT hostname FROM tblhosting, tblservers WHERE tblhosting.server = tblservers.id AND tblhosting.domain = 'developer.infonet.hr'");

查询返回正确的结果集,但有两次,这里也是var_dump输出:

array(2) {
  [0]=>
  string(18) "lin-b15.infonet.hr"
  ["hostname"]=>
  string(18) "lin-b15.infonet.hr"
}

为什么返回两个相同的结果,正确的输出是一个,因为域是唯一的,这是因为结果是用mysq_fetch_array生成的,所以它同时返回关联数组和普通索引数组?

使用

mysql_fetch_row()获取结果行作为枚举数组

mysql_fetch_assoc()获取结果行作为关联数组

对于多个记录,请在while条件中使用它。。