在我的代码中,我试图连接页面名称和页面数据名称,以便我能够使用数据库中的数据填充网页。这两个表如下图所示。
页面数据
页面
所以当我在我的 PHP 函数中运行以下代码时,我没想到 echo 会输出 1
。
function merge_page($dbc) {
$q = "SELECT pages.page_name, page_data.section_name
FROM page_data
RIGHT JOIN 'page_data'
ON pages.id = page_data.section_page_id";
$r = mysqli_query($dbc, $q);
echo print_r($r);
return 0;
}
我期待的是
pages.page_name page_data.section_name
Welcome Section 1
Welcome Section 2
Welcome Section 3
Welcome Section 4
Welcome Section 5
如果能帮我解决这个问题,我将不胜感激
最佳答案
我认为您应该使用内连接(在 page_data 和 pages 之间)而不是在 page_data 和 page_data 之间使用右连接
"SELECT pages.page_name, page_data.section_name
FROM page_data
INNER JOIN 'pages'
ON pages.id = page_data.section_page_id";
如果行不匹配则左连接
"SELECT pages.page_name, page_data.section_name
FROM page_data
LEFT JOIN 'pages'
ON pages.id = page_data.section_page_id";
关于php - 使用 RIGHT JOIN 将页面数据匹配到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38794314/