where equals SQL 忽略空格

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



交互式爱情
浏览 218回答 3
3回答

肥皂起泡泡

这会从结果的末尾删除空格。SELECT RTRIM(username) FROM users WHERE login="lapis"

慕哥9229398

您可以像下面这样进行查询。    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

你的问题不是很详细,但从我可以收集到的一个简单的 preg_replace() 会做你想要的。例如,$login = preg_replace('/\s+/', '', 'lapis '); // This will output: lapis$conn->query("SELECT * FROM users WHERE login='".$login."'")preg_replace 与我包含的字符将删除所有空格,包括制表符和其他形式。
打开App,查看更多内容
随时随地看视频慕课网APP