繁体   English   中英

PHP查询不返回带有varchar的行

[英]Php query returns no rows with varchar

我有一个mysql表,其中用户列是varchar。

这适用于int类型

$result = mysql_query("SELECT name FROM users WHERE id='$id'");

但是,当我尝试匹配varchar时,什么也不会返回。

$result = mysql_query("SELECT name FROM users WHERE user='$username'");

我试图剥离的价值,仍然没有。

有什么建议么?

我通常使用这样的东西。 (加上一些消毒)

$username = strtolower($username);
$result = mysql_query("SELECT name FROM users WHERE LCASE(user)='{$username}'");

无论用户如何键入相同的大小写,都将为您提供用户名。

由于您使用的是=因此必须完全匹配。 否则,您将使用LIKE

我上面提供的代码将返回用户名的完全匹配。 这段代码会将$username强制全部小写,然后我们可以使用LCASE对MySQL执行相同的操作。 现在您可以进行完全相同的匹配。

您可能遇到的问题是userNameUserName甚至与UsErNaMe不相同。 确保当您进行完全匹配时,大小写也相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM