作为连接的结果获取PHP MySQL PDO列表名

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了作为连接的结果获取PHP MySQL PDO列表名脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在加入的不同表中有相同名称的字段.例如ticket.status,user.status和transaction.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文档提到它依赖于驱动程序.

谢谢

解决方法

只需在select语句中添加新别名即可

$statement = $this->db->prepare("
    SELECT *,ticket.status AS ticket_status,user.status AS user_status,transaction.status AS transaction_status 
    From ticket,transaction 
    WHERE ticket.eventId = ? 
    AND ticket.userId = user.userId
    AND ticket.transactionId = transaction.transactionId
");

那你可以做

$rows[0]['user_status'];
$rows[0]['ticket_status'];
$rows[0]['transaction_status'];

如果您真的关心性能,那么返回的数据量会更大,因此您可以选择每个列而不是添加新别名,而在这样做时,会在状态列上添加别名.

脚本宝典总结

以上是脚本宝典为你收集整理的作为连接的结果获取PHP MySQL PDO列表名全部内容,希望文章能够帮你解决作为连接的结果获取PHP MySQL PDO列表名所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。