0

検索項目を含むデータを取得するために、次のコードを試しました。

$data = mysql_query("
            SELECT * FROM product_table
            WHERE product_name LIKE '%$no3%'
            ORDER BY autoid limit $no2,20"
        ) or die(mysql_error());

kidsがその作品を試してみると、試してみてもうまくいきKids Skiません。データベースのエントリは ですManbi Kids Carve Ski Glove

4

2 に答える 2

1

あなたの値は「キッズスキー」のようではなく、両方の単語が別々に含まれているため、機能していません..

RLIKE (つまり、正規表現) を確認する必要があります。

http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp

この回答を見てください..これは同様の問題です... https://stackoverflow.com/a/9425088/1114536

于 2012-07-22T06:11:42.623 に答える
0

explodeあなたの状態と各単語を個別にチェックすることができます:

$no3 = explode(' ', $no3);
$w = array();
foreach ($no3 as $v) $w[] = "product_name LIKE '%$v%'";
$no3 = implode(' AND ', $w);
$data = mysql_query("
        SELECT * FROM product_table
        WHERE $no3
        ORDER BY autoid limit $no2,20"
    ) or die(mysql_error());

すべてではなく、指定された単語のいずれかが一致した場合にクエリが結果を返すようにする場合は、次の行を変更します。

$no3 = implode(' OR ', $w);
于 2012-12-21T20:55:43.077 に答える