php - Mysql 查询连接

标签 php mysql

我有两个表,一个是图像表,另一个是产品 id 和图像 id 的表。

媒体表:

`media_id`,  `file_title`,  `file_type`,  `file_url`,

产品媒体表:

`id`, `media_id`, 'product_id`

我正在尝试从产品媒体表中获取特定product_id 的所有匹配项。

$query = 'SELECT c.id, pm.file_url FROM `product_medias` c '.
        'INNER JOIN `medias` pm '.
        'ON c.`media_id` = pm.`media_id`'.
        ' AND c.`product_id` = 57 GROUP BY c.id';

我遇到的问题是,即使产品媒体表中某个产品有多个图像,我也只能得到一个结果。

例如:产品媒体表:我只得到结果中的第一个匹配项...

(47, 57, 65),
(48, 49, 66),
(51, 57, 70),
(52, 57, 71),

最佳答案

好吧,我不知道:

$med_rows = mysqli_fetch_array($result, MYSQL_ASSOC);

仅返回第一个结果...

我需要循环结果才能获得所有结果:

while ($med_rows = mysqli_fetch_array($result, MYSQL_ASSOC)) {
        $med_row[] = $med_rows; }

关于php - Mysql 查询连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24475632/

相关文章:

php - 如何将每个 php foreach 值放入每个 jquery ajax

php - CKEditor和PHP,发送到Mysql生成额外标签

mysql - 连接来自同一张表的结果

mysql - MySql版本如何学习?

php - 插入和更新记录

javascript - 我可以在 URI 中安全地使用域吗

php - 如何在 Laravel 5 中使用我自己的 Jquery

php - SEO cookie 重定向

java - Android 使用 jdbc 连接到 google cloud sql

javascript - 如何将 JavaScript 值添加到 mySQL 表中?