我有两张桌子:
表1
表2
如何在一个查询中选择和排序这两个表。我尝试了union
和left 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'];
}
答案 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