Если у меня несколько таблиц, например comments
и user_comments
, как бы я запросил их сразу?Несколько запросов и простой вывод (PDO?)
обычно, когда у меня есть одна таблица для выбора Я обычно делаю это:
$query = $db->query("SELECT * FROM comments");
while($q = $query->fetchObject()){
$id = $q->id; //getting the id from comments table only
$text = $q->comment; //getting the comments from comments table only
}
Это дает мне идентификатор и комментарии
Есть ли способ запроса комментарии и user_comments? и, возможно, у него идет, как этот
$id= $q -> comments -> id;//getting the id from comments table
$text = $q -> comments -> comment;//getting comment from comments table
$user_id = $q -> user_comments -> id;//getting the id from user_comments
$user_text = $q -> user_comments -> comments;//getting the comments from user_comments
Это позволит мне легко получить значения из разных таблиц, независимо, если он имеет то же имя столбца или не в каждой таблице.
Возможно ли это?
Thanks
Редактировать: Test try?
$sql = $dbh->query("SELECT * FROM comments WHERE id=4 UNION SELECT * FROM user_comments WHERE id=1");
$q = $sql->fetchObject();
$name = $q->comments->username;
$text = $q->user_comments->comments;
echo $name;
echo $text;
, но весь мой сайт использует PDO – hellomello
Я не говорю, чтобы не использовать его. Используйте его. Я просто заявлял, что это проблема SQL, а не PDO. Я пытался заставить вас сосредоточиться на части SQL проблемы, вместо того чтобы сосредоточиться на PDO. – Frankie
Можете ли вы привести краткий пример? я бы делал что-то вроде '(" SELECT * FROM table_a WHERE id = $ id UNION SELECT * FROM table_b WHERE id = $ id ")' или что-то еще? – hellomello