2013-04-16 52 views
0

我有一個查詢從現有的opencart網店數據庫中提取一些數據。

小問題是我使用DISTINCT在本地解決的加倍結果。它工作完美,直到我在我的wordpress網站上使用在線查詢。無論使用不同的結果,結果再次翻倍。

使用的唯一區別是本地我在一個普通的php文檔中使用mysql()查詢,但是在線我在wordpress邊欄文件中使用了$ wpdb句子。

數據庫是一樣的。

地方:

$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 
+3

你能告訴我們查詢的結果嗎?我敢打賭,他們沒有一個是重複的。 –

+1

請向我們展示您的結果集。關於這個結果很難說出來...... – Borniet

+0

@JW打印結果集是50,50,51,51,52,52。數據庫中只有一個。就像我說的,我在本地有重複的問題,但使用不同的解決方案。 –

回答

1

您的查詢不會返回唯一的非重複值:

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會有所不同。