我有两张桌子坚固且联系方式。我试图通过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);
但我没有得到正确的公司。请允许任何人帮我解决这个问题。
答案 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)
JOIN
和WHERE
语句出错:
$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";