gpt4 book ai didi

php - SQL JOIN 返回 3 个名称为 'id' 的字段

转载 作者:可可西里 更新时间:2023-11-01 07:59:14 26 4
gpt4 key购买 nike

我有一个使用 3 个表的连接的 SQL 查询。它实际上工作正常,但所有三个表都有一个名为“id”的字段,所以稍后当我尝试访问 id 字段时,它只访问最后一个字段中的那个。 SQL查询如下:

"SELECT * FROM professors AS p 
JOIN schools_professors AS sp
ON p.school_id = sp.id
JOIN schools AS s ON sp.school_id = s.id WHERE p.first_name LIKE '%".
$search."%' OR p.last_name LIKE '%".$search.
"%' LIMIT 0, 10;"

现在,学校、教授和 schools_professors 都有 id 列。我如何访问教授的 ID?这是我唯一关心的。

最佳答案

在这种情况下,您不应该使用 *,而是手动投影列名并在其上添加 ALIAS。例子,

SELECT   ....,
p.ID AS ProfessorID,
s.ID AS SchoolID,
FROM .....

作为旁注,查询易受 SQL Injection 攻击如果变量的值(s) 来自外部。请查看下面的文章,了解如何预防它。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号。

关于php - SQL JOIN 返回 3 个名称为 'id' 的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996171/

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