我使用此代码连接到数据库并获取结果。这非常有效,直到我尝试在图像表的另一个查询中获取相关图像。我对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;
}
?>
答案 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;