如果我搜索确切的字符串,为什么sql查询不返回数据?

时间:2016-12-12 06:33:26

标签: php mysql

我调用了名为gift_code的mysql表,其类型为varchar(20),现在它包含GREATDAY字符串数据。

现在为什么我在sql查询后运行它返回0.我不明白为什么会发生这种情况?

string可以包含大写或小写字符。我想搜索完全匹配

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

我使用BINARY关键字但没有工作:(

2 个答案:

答案 0 :(得分:2)

COLLATE utf8_general_cs才是最重要的。当列的整理设置为此时,区分大小写将起作用。如果您的列整理为utf8_general_ci,则会在查询时忽略区分大小写。

答案 1 :(得分:1)

我认为你应该尝试修剪数据库中的数据,它可以包含各种不必要的字符,使字符串匹配不返回任何内容, 要么, 您可以从数据库中选择所有数据并修剪它们并与“GREATDAY”进行比较,如果它不起作用,您可以回显它并转到页面源以查看是否有任何br或p标记,