0

使用 PHP,我进行以下查询:

"SELECT * 
 FROM `items` 
      JOIN `categories` 
         ON `items`.`category`=`categories`.`cat3` 
 WHERE `items`.`user_id` = '".$UID."'"

我正在尝试访问items. id关联数组中的字段。问题是,$res['id']似乎给了我categories桌子的 id。

如何更改代码以从items表中获取 ID?

4

2 回答 2

1

在您的 sql 语句中添加一个额外的列,例如。

SELECT *,
       items.id AS `itemID`
FROM   ....

并像访问它一样,

$res['itemID']
于 2013-09-27T21:50:41.770 回答
0

您正在从两个表中选择每一列,items并且category. 这会给您访问两个表上具有相同名称的列带来麻烦。

在这些情况下,您应该始终在您的选择语句中使用别名。

SELECT `items`.`id` as item_id,...,`categories`.`id`,...
 FROM `items` 
      JOIN `categories` 
         ON `items`.`category`=`categories`.`cat3` 
 WHERE `items`.`user_id` = '".$UID."'"

您只需在 ... 中为每个表添加所需的其余列。

如果您有其他同名的列,请不要忘记也为它们创建别名。

于 2013-09-27T22:00:06.083 回答