[英]SELECT DISTINCT returning duplicates
當我使用以下代碼時,我的mysql代碼返回重復值:
首先,這是我的代碼:
$customer = htmlspecialchars($_GET['customer']);
$STH = $DBH->query( "SELECT DISTINCT customer FROM table WHERE customer LIKE
'$customer%' LIMIT 4" );
$STH->setFetchMode(PDO::FETCH_ASSOC);
while( $row = $STH->fetch() ){
$customer_name = $row['customer'];
$list .= "<p>" .$customer_name. "</p>";
echo $list;
}
我的SELECT語句有問題嗎?
我讀到,當數據條目中的細微差別(例如空格等)存在差異時,可以返回重復的值。
嘗試這個。
$customer = htmlspecialchars($_GET['customer']);
$STH = $DBH->query( "SELECT DISTINCT customer FROM table WHERE customer LIKE
'$customer%' LIMIT 4" );
$STH->setFetchMode(PDO::FETCH_ASSOC);
while( $row = $STH->fetch() ){
$customer_name = $row['customer'];
$list .= "<p>" .$customer_name. "</p>";
}
echo $list;
您是每個周期中的回顯列表。 我認為是這種情況。
您每次迭代都將附加到$list
,然后每次都回顯整個事物。 因此,如果查詢返回Person1,Person2和Person3,則將是您的輸出:
Person1 # End of loop iteration 1
Person1
Person2 # End of loop iteration 2
Person1
Person2
Person3 # End of loop iteration 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.