在MySQL中加入两个表

时间:2013-04-24 00:29:00

标签: php mysql join

大家好,这是我的SQL查询:

SELECT * 
FROM path JOIN (
    SELECT * FROM invoice WHERE client_Id='$_SESSION[user]'
) ON INVOICE.path_Id=PATH.Id

我想在第一个表中连接两个表必须有client_Id=$_SESSION[user]。必须在path_Id上加入这两个表。请帮我正确地写这个查询。谢谢

2 个答案:

答案 0 :(得分:1)

尝试此查询

SELECT * 
FROM `PATH` JOIN `INVOICE` 
    ON `INVOICE`.`path_Id`=`PATH`.`Id` 
WHERE `INVOICE`.`client_Id`='$_SESSION[user]'

答案 1 :(得分:1)

这行代码中有很多错误:

  1. Saintize用户输入。通过直接插入$ _SESSION变量 SQL查询,您正在引入SQL注入漏洞 使用XSS和CSRF漏洞。人们可以而且会做坏事 如果有机会,你的应用程序。

  2. 永远不要选择超出您需要的数据。你真的需要吗? 两个表中的所有列?

  3. 为什么选择两个? SELECT * FROM Path p JOIN Invoice i ON i.path_id = p.id WHERE i.client_id = 1 LIMIT 1将完成这项工作。