从2个MySQL表中选择数据 - PHP

时间:2013-12-16 13:58:07

标签: php mysql

我有两张桌子:

表1

  • 触点
    • id
    • 电子邮件
    • 名称
    • 姓氏
    • 邮政编码
    • STRAAT
    • huisnr
    • woonplaats
    • klantnummer
    • BSN
    • 土地
    • debiteurnummer

表2

  • contacts_group
    • ID
    • 邮件
    • 组名

如何在一个查询中选择和排序这两个表。我尝试了unionleft join,但没有效果。

$result = mysqli_query($database->connection,
    "SELECT * 
     FROM contacts 
     WHERE owner = '$session->username'
     ORDER BY name ASC ,bedrijfsnaam ASC") 
or die(mysqli_error());

while($roww = mysqli_fetch_array($result)){
    echo $roww['email'];
    echo $roww['name']; 
}

contacts_group

$result = mysqli_query($database->connection,
    "SELECT * 
     FROM contacts_group 
     WHERE owner = '$session->username'
     ORDER BY group_name ASC") 
or die(mysqli_error());

while($roww = mysqli_fetch_array($result)){
   echo $roww['mail'];
   echo $roww['group_name']; 
}

2 个答案:

答案 0 :(得分:1)

逃避变数。你不应该把php变量放在sql查询中。你可能会受到sql注射。

如果你想通过foregin键连接两个表,你可以这样做:

SELECT * FROM contacts, JOIN contacts_group ON contacts_group.id = contacts.group_id 
WHERE contacts.owner = '$session->username' ORDER BY contacts.name

但是你缺少联系人表中的group_id或者连接两个表的一些foregin密钥。

答案 1 :(得分:0)

在尝试使用topic

之后,请先阅读此mysql join construction