У меня есть две таблицы, которые я назову foo
и bar
. Каждая таблица имеет первичный ключ, foo_id
и bar_id
, соответственно. Каждая строка в foo
может быть частью группы, которая представляет собой строку в bar
- подумайте о членах комитета, каждый член может быть в нескольких комитетах, и каждый комитет может иметь несколько членов. У меня есть соединяющая таблица, которую можно назвать foo_bar
, который имеет только две колонки (по одной для первичного ключа из двух других таблиц) и списки, которые Foo является частью которого бар:Как выбрать несколько пар ключ/значение, где ключ является постоянным?
| foo_id | bar_id |
| ------ | ------ |
| test | res |
| test | res2 |
| --------------- |
Вот мой PHP (из-за мой хостинг я не может использовать $stmt->get_result()
):
$stmt = $db->prepare("SELECT bar_id FROM foo_bar WHERE foo_id = ?");
$stmt->bind_param("s", "test");
$stmt->execute();
$stmt->bind_result($result);
$stmt->fetch();
$stmt->close();
Прямо сейчас, печать $result
дает мне «разрешение». Как мне сделать так, чтобы в моем результате были все бары, из которых test
foo является частью?
SQL Скрипка:http://sqlfiddle.com/#!9/2dfd2/1
См http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me -to-be-a-very-simple-sql-query – Strawberry
'fetch' возвращает только одну строку, помещая ее в цикл while, чтобы получить другие строки. Подробнее см. Http://php.net/manual/en/pdostatement.fetch.php. – dstudeba
@dstudeba Спасибо, что сделал трюк. –