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

mysqli_fetch_array : undefined index when selecting from multiple tables

在创建mySQLi之前,mySQL运行良好:/

我以前使用过mysql_fetch_array()。但是,当我使用mysqli_fetch_array(){Notice" i"}时,从多个表中进行选择时从ASSOCIATIVE数组获取结果存在问题。也就是说,

1
2
3
4
5
$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'];但这无助于从两个具有相同名称的表中获取不同的字段

请帮助。

谢谢! =)


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

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

1
2
3
4
5
$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']; }