超级简单查询:
mysql_connect($server ,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT RTRIM(a.Name), a.Age, a.Sex, a.GunTime, a.Pace, b.Name as Race,
a.RaceDate from 5K as a Join RaceIDs b on a.RaceID = b.ID Order By GunTime asc";
$result=mysql_query($query);
执行此查询时,除a.Name外,所有列都返回。如果我删除RTRIM()
,则a.Name列将按预期返回。同样,如果我传递UPPER(a.Name)
,那么该列为空。如果我删除UPPER()
,那么a.Name
就会很好。
为什么我不能在标准MYSQL(v5.1)函数中包装这些表别名参数的任何线索?
答案 0 :(得分:3)
为函数包装列提供列别名:
SELECT RTRIM(a.Name) AS Name ...
现在,当您获取结果(mysql_fetch_assoc()
或mysql_fetch_array()
)时,结果行中将存在Name
列。 ($row['Name'])
否则,该列在技术上是存在的,但在使用PHP获取时,您必须将其引用为RTRIM(a.Name)
:($row['RTRIM(a.Name)'])