Php DISTINCT函数不能与$wpdb联机工作
我有一个查询,它从现有的opencart web shop数据库中获取一些数据 小问题是我使用DISTINCT局部解决的加倍结果。在我在wordpress网站上使用在线查询之前,它工作得非常好。无论使用distinct,结果都会加倍 唯一不同的是,在本地,我在一个普通的php文档中使用了mysql()查询,而在联机情况下,我在wordpress边栏文件中使用了$wpdb语句 数据库是相同的 本地:Php DISTINCT函数不能与$wpdb联机工作,php,mysql,wordpress,Php,Mysql,Wordpress,我有一个查询,它从现有的opencart web shop数据库中获取一些数据 小问题是我使用DISTINCT局部解决的加倍结果。在我在wordpress网站上使用在线查询之前,它工作得非常好。无论使用distinct,结果都会加倍 唯一不同的是,在本地,我在一个普通的php文档中使用了mysql()查询,而在联机情况下,我在wordpress边栏文件中使用了$wpdb语句 数据库是相同的 本地: $preq = " SELECT DISTINCT product.product_id
$preq = "
SELECT DISTINCT
product.product_id as proid,
product.image as proimg,
product_description.name as proname
FROM
product, product_description
WHERE
product_description.product_id = product.product_id
AND FIND_IN_SET(product.product_id, ( SELECT value FROM setting where `key` = 'featured_product' ) )
";
if($res=mysql_query($preq)) {
while ($rss = mysql_fetch_array($res)) {
echo $rss['proid'];
echo "<br/><br/>";
}
}
$mydb= new wpdb(/connection info/);
$rows = $mydb->get_results(
"
SELECT DISTINCT
product.product_id as proid,
product.image as proimg,
product_description.name as proname
FROM
product, product_description
WHERE
product_description.product_id = product.product_id
AND FIND_IN_SET(product.product_id, ( SELECT value FROM setting where `key` = 'featured_product' ) )
"
);
echo "<div id='fp_content'>";
foreach ($rows as $obj) {
echo $obj->proid;
echo '<br/>';
}
echo "</div>";
Locally:
Values in "value" column: 28,40,42,43,46,47,49
Results:
28
40
42
43
46
47
49
----------------------
Online:
Values in "value" column: 50,51,52
Results:
50
50
51
51
52
52
您的查询只返回非重复值:
SELECT DISTINCT
product.product_id as proid,
product.image as proimg,
product_description.name as proname
FROM
product, product_description
WHERE
但是只有您的字段product.image或product_description.name会有所不同。能否显示查询结果?我打赌没有一个是重复的。请给我们看看你的结果集。很难用结果来说明这一点……因为您选择了3个值,所以您的结果集永远不能是50、50、51、51、52、52。其他值中有一个是不同的…您也可以给出示例记录吗?这就是你的答案:-)