php - 根据 where 子句从表中选择一列,然后将其与另一个表中的另一列进行匹配

标签 php mysql

我有一个名为 $generic 的变量它被传递到加载 SQL 的函数中查询,这用于与 slug 形成匹配表中的列 cms_web_pages ;所以在这个例子中我们可以说 $generic等于 'bar' 查询然后获取 id匹配行并使用 id匹配第二个表中的行 cms_web_page_content与列 page_id然后从表 cms_web_page_content 中获取所有数据放置在数组内。

表“cms_web_pages”:

id | title | slug
-----------------
1  | foo   | bar
2  | bar   | foo

表“cms_web_page_content”:

id | title | content | position | page_id
-----------------------------------------
1  | foo   | bar     | 1        | 1
2  | bar   | foo     | 2        | 1
3  | doh   | doh     | 1        | 2

SQL查询:

$link = db_connect();

$qry = mysqli_query($link,
                    "SELECT page.*, content.*
                     FROM cms_web_pages AS page
                     WHERE page.slug = '".$generic."'

                     LEFT JOIN cms_web_page_content AS content
                     ON page.id = content.page_id)

                     ORDER BY content.position ASC")

                     or die(mysqli_error($link)
                    );

$content = array();

提前感谢任何可以提供帮助的人。

最佳答案

Use as :
"SELECT page.*, content.*
                     FROM cms_web_pages AS page
                     LEFT JOIN cms_web_page_content AS content
                     ON (page.id = content.page_id)

                     WHERE page.slug = '".$generic."'

                     ORDER BY content.position ASC"

关于php - 根据 where 子句从表中选择一列,然后将其与另一个表中的另一列进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189457/

相关文章:

php - 如何使用适当的 SQL 标准在 MYSQL 中计算具有特定纬度和经度的所需半径或距离?

php - 获取连接表的列名

php - 查询中的多个左连接

c++ - qt:对 'mysql_something@nr' 的 undefined reference

javascript - 在子文件夹中添加 css 链接,php 扩展文件

javascript - 需要从 PHP 代码创建 Ajax

mysql - 您的 SQL 语法有错误,请检查与您的 MySQL 服务器版本对应的手册,以了解在第 1 行 '' 附近使用的正确语法

mysql - 如何在 VB.NET 中使用 ComboBox 从数据库中检索图像

mysql - Sonarqube 服务未启动

php - 在 PHP 中替换函数中特定位置的字符串?