我有两个表,一个是图像表,另一个是产品 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/