当我使用 WHERE equals 子句从我的表中搜索结果时,我得到了我希望与众不同的结果。例如,当我查找结果时,我的查询 SELECT * FROM users WHERE login="lapis"结果与 SELECT * FROM users WHERE login="lapis ". 最后的空格被忽略,这是我的代码中的问题,因为我将此查询用于我的 php 登录脚本,任何人都可以使用正确的密码登录帐户,但技术上没有正确的登录(它应该是“lapis”,而不是“lapis”) . 我能用它做些什么吗?
3 回答

慕哥9229398
TA贡献1877条经验 获得超6个赞
您可以像下面这样进行查询。
SELECT * FROM users WHERE login LIKE "your_input_here"
使用LIKE
可以解决问题。
例如:
SELECT * FROM users WHERE login LIKE "lapis"
只会获得'lapis'
作为登录名的值。和
SELECT * FROM users WHERE login LIKE "lapis "
只会获得'lapis '
作为登录名的值。

HUWWW
TA贡献1874条经验 获得超12个赞
你的问题不是很详细,但从我可以收集到的一个简单的 preg_replace() 会做你想要的。
例如,
$login = preg_replace('/\s+/', '', 'lapis '); // This will output: lapis
$conn->query("SELECT * FROM users WHERE login='".$login."'")
preg_replace 与我包含的字符将删除所有空格,包括制表符和其他形式。
- 3 回答
- 0 关注
- 217 浏览
添加回答
举报
0/150
提交
取消