Mysql 2 select 所有语句都无法正常工作

Mysql 2 select all statements not working correctly

我正在尝试 select 2 张这样的桌子

$query = $this->pdo->prepare('SELECT StandItems.*, Stock.* FROM StandItems, Stock 
            WHERE StandItems.StandId = ? AND StandItems.Barcode = Stock.Barcode');

这行得通,但是当我尝试这样的操作时,它不起作用

echo StandItems.Barcode 

但如果我这样做,它就有效。

echo Barcode

有没有办法通过在列名前添加 "StandItems" 来让它工作,因为 StandItems 和 Stock 有一些相同的名称,所以当我试图从 stock 中回显一列时,它从 standitems 中获取它

查询结果包含列名。这些名称 包含 table 别名。因此,在查询上下文中,您可以——而且应该——使用限定名称。但是,结果集中只使用了列名本身。

您可以使用 as 控制别名,因此您可以:

select StandItems.Barcode as StandItems_BarCode

例如,然后在引用结果集中的列时使用 StandItems_Barcode

顺便说一句,您的查询似乎缺少 join。如果您真的想要 table 之间的笛卡尔积,请明确并使用 cross join 而不是逗号。