Нужно что бы к каждой записи в блоге, отображались комментарии, оставленные непосредственно для записи.
Есть две таблицы, одна с постами,другая с комментариями. Я пытаюсь выполнить следующий запрос, где :id это $_GET[id]
$sql = 'SELECT * FROM comments WHERE id=:id';
В принципе запрос работает, но проблема в том, что у меня записи в таблице постов начинаются с id 500, а комменты с id 17) Мой запрос выполняется только в том случае, если я сам руками поменяю id 17 на 500.
Возможно стоит воспользоваться джоинами? Хотя я тоже не понимаю, по каким столбцам объединять нужно.
Из комментов надо выбирать не по id, а по post_id.
В таблице комментариев должно быть поле с ид поста. И дальше просто выбирать все нужные комментарии по этому полю
Джойн здесь будет лишним. проще сделать два запроса - к таблице постов и к таблице комментариев.
$sql = 'SELECT * FROM comments WHERE post_id = :id';
$sqlParams = [':id' => $_GET['id']];
Если руками указывать post_id в момент добавления записи, то всё работает. Хочу что бы при добавлении коммента, в post_id падало значение $_GET['id'] и что то никак не получается
Если немного логически помыслить, то это означает, что в $_get[Id] ничего нет. И поэтому надо посмотреть на адресную строку и хтмл форму - передается ли ид поста
Ещё раз. Если в БД пишется пустота, то в $_GET['id'] пусто. Чем раньше ты научишься верить фактам, а не своим фантазиям, тем быстрее заработает твой код.