2016-12-12 8 views
0

カラム名gift_codeと呼ばれるmysqlテーブルがあり、タイプはvarchar(20)で、現在はGREATDAYの文字列データが含まれています。正確な文字列を検索すると、sqlクエリがデータを返さないのはなぜですか?

なぜ私はSQLクエリに続いて実行するのですか?0が返されます。なぜそれが起こっているのか分かりません。

stringには、大文字または小文字を使用できます。私はBINARYキーワードを使用しますが、私はそれが文字列一致リターンを作る様々な不要な文字を含めることができ、データベースにデータをトリミングしようとすべきだと思う:(

+0

また、 'WHERE gift_code LIKE '%GREATDAY%''を試すこともできます。もし何も返さなければ、おそらく何らかのPHP問題があるでしょう。 –

+0

さて、戻ってきましたが、大文字と小文字は区別されませんでしたか? 「グレート・デイ」と「グレート・デイ」はどちらも真です。 –

+0

大文字と小文字を区別して検索する必要があります –

答えて

1

を働いていない、完全一致に

$checkPromo  = mysqli_query($conn, "SELECT * FROM gift_card WHERE gift_code = 'GREATDAY' "); 
echo $numPromo = mysqli_num_rows($checkPromo); 

を検索します何もない、 データベースからすべてのデータを選択し、それらをトリミングして、それがうまくいかない場合は "グレートデイ"と比較し、それをエコーし​​てページソースに移動して、brタグまたはpタグがあるかどうかを確認できます。

2

COLLATE utf8_general_csが重要です。列の照合iこれに設定すると、大文字と小文字が区別されます。照合している列の照合順序がutf8_general_ciの場合、照会中に大文字小文字の区別が無視されます。

関連する問題