在从另一个表中查询产品后查询一个表中的相关图像

时间:2010-05-21 10:56:26

标签: php

我使用此代码连接到数据库并获取结果。这非常有效,直到我尝试在图像表的另一个查询中获取相关图像。我对OO编程不是很有经验。所以希望有人可以看到我出错的地方并帮助我。

<?php 
    global $__CMS_CONN__;

    $sql = "SELECT * FROM ecom_products";
    $stmt = $__CMS_CONN__->prepare($sql);
    $stmt->execute(array($id));

    while ($row = $stmt->fetchObject()) {

        $imagesql = "SELECT * FROM ecom_product_images where id = $row->id && where primaryImage = '1'";
        $imagestmt = $__CMS_CONN__->prepare($sql);
        $imagestmt->execute(array($id));
        $imageName = $imagestmt->fetchObject();

        echo '<a href="'.URL_PUBLIC.$row->id.'">'.$row->productNm.'</a>'.$imageName;

    }
?>

2 个答案:

答案 0 :(得分:0)

修改您的SQL查询:

$imagesql = 'SELECT * FROM ecom_product_images where id = ' . $row->id . ' AND primaryImage = "1"';

您是否在$id变量之前声明了?

您的代码是否有任何错误?

如果您的primaryImage列为int类型,则跳过查询中的撇号

primaryImage = 1

如果enum则可以。

答案 1 :(得分:0)

你不需要OO编程,而是SQL编程。

SELECT p.*, imageName 
FROM ecom_products p, ecom_product_images i 
WHERE p.id = i.id AND primaryImage = 1;