gpt4 book ai didi

php - 使用没有列别名的 PDO::FETCH_ASSOC 的奇怪 MYSQL 结果

转载 作者:行者123 更新时间:2023-11-30 23:03:32 25 4
gpt4 key购买 nike

我有一个简单的左连接查询。

SELECT e.employee_id as employee
, e.badge_id as badge
, e.first_nm as first
, e.last_nm as last
, e.work_phone as work_ph
, e.mobile_phone as mobile_ph
, e.manager_id as man_id
, e.title_id as titl_id
, e.username as user
, e.start_dt as start
, m.employee_id as memp_id
, m.last_nm as m_last
, m.first_nm as m_first
, t.title_nm as titl_nm
FROM employee e
left join employee m
on e.manager_id = m.employee_id
left join title t
on e.title_id = t.title_id
WHERE e.employee_id = 1

如果我像上面那样使用列别名,则查询工作正常。但是,如果我不使用别名,则不会返回某些值。例如,如果我没有为该列指定别名,则以下命令返回一个空格。

e.first_nm as first      //returns "Robert"
e.first_nm //returns ""
e.first_nm as first_nm //returns "" (alias matches column name)

在同一个查询中,

e.middle_nm              //will return "P" 

不管它是否有别名。我很困惑。

我已经为我的表设置了别名,并且在列名中使用了表别名,因此不应有任何不明确的列名。

如有任何想法,我们将不胜感激。谢谢,

罗布

最佳答案

您有两列与 first_nm 同名,PDO 可能不知道返回什么给您的代码然后返回简单的“”。虽然当他们来到一条记录时他们在不同的表中,但他们有相同的名字......你看到问题了吗?

关于php - 使用没有列别名的 PDO::FETCH_ASSOC 的奇怪 MYSQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22853078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com