mysql内连接查询,其中id是从$ _GET ['id']获得的

时间:2013-08-12 08:25:26

标签: php mysql

我有两张桌子坚固且联系方式。我试图通过contactdetails的公司和某些联系方式获取公司名称。我正在使用$id =$_GET['id'];来获取ID。在contactdetails中我有fk_firm_id这是我的外键。我不知道如何使用内连接查询。我正在尝试以下查询:

$sql="SELECT  firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` 
FROM contactdetails JOIN firm ON contactdetails.fk_firm_id='$id'";
echo $sql;
$result = mysql_query($sql);

但我没有得到正确的公司。请允许任何人帮我解决这个问题。

6 个答案:

答案 0 :(得分:1)

您缺少将结果集限制为您感兴趣的公司的WHERE子句;现在,您正在通过单一的联系方式记录加入所有公司。

.. where firm.id=$id

对于新应用程序,请使用已准备好语句的数据库API,如mysqli或pdo。

答案 1 :(得分:1)

这假设你的公司表有一个名为id的主键

 $sql="SELECT  firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` FROM contactdetails JOIN firm ON `contactdetails`.`fk_firm_id`=`firm`.`id`
    WHERE `firm`.`id` = '$id'";
    echo $sql;
    $result = mysql_query($sql);

答案 2 :(得分:1)

JOINWHERE语句出错:

$sql = "SELECT 
              f.name,
              c.address_physical_line_1, 
              c.fax_1, 
              c.phone_1 
        FROM 
              contactdetails c JOIN firm f ON c.fk_firm_id= f.id 
        WHERE c.id = '$id'";

答案 3 :(得分:1)

您应该像JOIN firm ON contactdetails.fk_firm_id = firm.id

一样使用
$sql=" SELECT  firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` 
       FROM    contactdetails 
       JOIN    firm ON contactdetails.fk_firm_id = firm.id
       WHERE   contactdetails.fk_firm_id = '$id'
     ";

$result = mysql_query($sql);

答案 4 :(得分:1)

$sql="SELECT  firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` FROM
contactdetails JOIN firm ON contactdetails.fk_firm_id=firm.id where 
contactdetails.fk_firm_id='$id'";

你应该加入公司的领域,例如firm.id

  

语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr   table2.field2 compopr是:“=”,“<”,“>”,“< =”,“> =”,“<>”

答案 5 :(得分:0)

对内连接使用以下查询

$sql="SELECT  firm.name ,address_physical_line_1 , fax_1 , phone_1 FROM 
contactctdetails  INNER JOIN firm ON contactdetails.fk_firm_id=$id";