我在要加入的不同表中具有相同名称的字段。如ticket.status
,user.status
和transaction.status
。目前查询只返回status
.
如何以阻止类似字段名称覆盖的方式获取表名,以便区分字段之间的区别。
简单的说:
$data = array($eventId);
$statement = $this->db->prepare("SELECT * FROM ticket, user, transaction
WHERE ticket.eventId = ?
AND ticket.userId = user.userId
AND ticket.transactionId = transaction.transactionId");
$statement->execute($data);
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);
在我的研究中,我发现PDO::ATTR_FETCH_TABLE_NAMES
看起来它可以提供帮助的常量,但我不知道如何实现(我假设通过$statement->setAttribute();
某种方式)。
我也担心它不起作用,因为 PHP 文档提到它依赖于驱动程序。
谢谢