我有两个表:两个表,显示从一个多个结果相匹配的ID
post_languages有以下的列:languageID,languageName
post_to_languages用:帖子ID ,postLanguage
我想要实现的是显示与帖子相关的所有语言。
例如:发表1,语言:法语,俄语
也许我的做法是错误的,但是这是我试过的方法之一:
//get language id
$stmt2 = $db->prepare('SELECT languageID FROM post_to_languages WHERE postID = :postID');
$stmt2->execute(array(':postID' => $row['postID']));
//Count total number of rows
$rowCount2 = $stmt2->rowCount();
if ($rowCount2 > 0) {
$row2 = $stmt2->fetch(PDO::FETCH_ASSOC);
foreach ($row2 as $langID) {
$stmt3 = $db->prepare('SELECT languageName FROM post_languages WHERE languageID = :languageID');
$stmt3->execute(array(':languageID' => $langID));
$row3 = $stmt3->fetch();
$lang_string = $row3['languageName'];
}
} else {
$lang_string = "Unknown";
}
不要紧,我试过了,我只能获得一种语言。也许我应该先选择ID来选择post_to_languages。
是的,这是正确的答案,适用于子查询和内部连接,不能满足答案,但是,谢谢 –