[英]MySQL where clause strangely returns all rows
有人在我的網站上嘗試過 SQL 注入。 他/她沒有成功,但他/她嘗試的一些東西引起了我的注意。
這個 where 子句返回所有行,我不知道為什么會這樣。
SELECT * FROM MyTable WHERE MyColumn=''=''
我在 MySQL 和 MariaDB 中嘗試了這個語句,它們都返回了所有行。 這個語句不應該拋出語法錯誤嗎? 為什么它返回所有行?
想象一下這個查詢:
select * from MyTable where false='';
然后,只需將您的分為:
SELECT * FROM MyTable WHERE (MyColumn='')=''
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.