2013-12-16 3 views
0

У меня есть две таблицы:Выберите данные из 2 таблиц MySQL - PHP

Таблица 1

  • контакты
    • ID
    • электронной
    • имя
    • Lastname
    • почтовый индекс
    • Straat
    • huisnr
    • woonplaats
    • klantnummer
    • BSN
    • земли
    • debiteurnummer

Таблица 2

  • contacts_group
    • ID
    • почта
    • group_name

Как я могу выбрать и заказать это 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']; 
} 
+1

Покажите нам, что вы пробовали, что не работает –

+1

или не утруждайтесь и просто сидите сложа руки и давайте сделаем все это для вас – Strawberry

ответ

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 ключ для подключения двух таблиц.

Смежные вопросы