mysqli_fetch_array:从多个表中选择时未定义的索引

时间:2012-08-12 08:56:15

标签: mysql

在mySQLi创建之前,mySQL做得很好:/

之前我使用过mysql_fetch_array()。但是,当我使用mysqli_fetch_array(){Notice“i”}时,从多个表中选择时从ASSOCIATIVE数组中获取结果时会出现问题。也就是说,

$query = "SELECT t1.id, t2.id FROM t1, t2 WHERE ...";
$result = mysqli_query($conn,$query);
//if num of rows check...
while($row = mysqli_fetch_array($result))
{ $first_id = $row['t1.id']; $second_id = $row['t2.id']; }

并且,我会收到一个错误:未定义索引:t1.id(或t2.id)。

如果我只选择t1或t2(不是两者)或者我是说$ row ['id'],那么查询工作正常;而不是$ row ['t1.id'];但是无法帮助从两个名称相同的表中获取不同的字段

请帮忙。

谢谢! =)

1 个答案:

答案 0 :(得分:0)

您的代码在分隔t1.id和t2.id时遇到问题,结果会将它们作为' id'返回。

尝试在查询中使用AS对列进行重命名/别名;

$query = "SELECT t1.id AS t1id, t2.id AS t2id FROM t1, t2 WHERE ...";
$result = mysqli_query($conn,$query);
//if num of rows check...
while($row = mysqli_fetch_array($result))
{ $first_id = $row['t1id']; $second_id = $row['t2id']; }