Php 使用*
是否可以使用带有前缀的SELECT*指定列名。这很难解释,所以请看这个例子Php 使用*,php,mysql,Php,Mysql,是否可以使用带有前缀的SELECT*指定列名。这很难解释,所以请看这个例子 $connect->prepare(" SELECT user.firstName as prefix_firstName, user.lastName as prefix_lastName FROM user WHERE user.ID = '5' "); 我希望能够使用isuser.*并将前缀指定为前缀。像这样: SELECT user.* as prefix_*
$connect->prepare("
SELECT
user.firstName as prefix_firstName,
user.lastName as prefix_lastName
FROM user
WHERE user.ID = '5'
");
我希望能够使用isuser.*
并将前缀指定为前缀。像这样:
SELECT
user.* as prefix_*
它会将每一列分配给prefix_ulike prefix_firstName,而不必调用每一列,并将其分配为prefix_columnName。比如:
SELECT
user.firstName as prefix_firstName,
user.lastName as prefix_lastName
我希望这解释得足够好
更新
谢谢原因是,我需要从同一张桌子上拉三个人。使用
SELECT user.*,
admin.*,
creator.*
FROM
user
LEFT JOIN
user as admin
ON
admin.ID = user.adminID
LEFT JOIN
user as creator
ON
creator.ID = user.creatorID
WHERE
user.ID = '5'
例如,所有3个选择(user.*
,admin.*
,creator.*
)都将创建相同的firstName变量,该变量将覆盖自身。我想也许还有比这样做更短的方法
SELECT
user.firstName,
user.lastName,
admin.firstName as admin_firstName,
admin.lastName as admin_lastName,
creator.firstName as creator_firstName,
creator.lastName as creator_lastName
FROM
user
LEFT JOIN
user as admin
ON
admin.ID = user.adminID
LEFT JOIN
user as creator
ON
creator.ID = user.creatorID
WHERE
user.ID = '5'
这只是一个片段,实际上用户表中有37列需要为3个用户中的每一个提取
谢谢 不,这是不可能使用sql的。如果查询是在php代码中动态组装的,那么php代码可以将查询构建为字符串,以包含每个字段,每个字段都有一个别名。否,使用sql是不可能的。如果查询是在php代码中动态组合的,那么php代码可以将查询构建为字符串,以包含带有别名的每个字段。否,但您可以编写一个函数来构建查询,创建别名。或者,当您从MySQL中获取数据时,您可以使用php分配前缀。问题是:为什么?@Fred ii-Karen知道:哦,我明白你的意思。我认为它类似于@Dagonno,但你可以编写一个函数来构建创建别名的查询。或者你可以在从MySQL获取数据时用PHP分配前缀。问题是:为什么?@Fred ii-Karen知道:哦,我明白你的意思了。我以为它像是@DagonYes,那可能是我唯一的选择。是的,那可能是我唯一的选择。