0

以下のコードを使用すると、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 ステートメントに何か問題がありますか?

スペースなどのデータエントリに微妙な違いがあると、重複した値が返される可能性があることを読みました。エントリを確認して再確認しましたが、全体を通してまったく同じです。

4

2 に答える 2

2

これを試して。

$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;

あなたは各サイクルでエコーリストです。これが事実だと思います。

于 2013-10-29T14:50:45.610 に答える