質問があります:
select first_name from users where user_id=1
UNION
SELECT IF(SUBSTRING user(),1,4) = 'root',SLEEP(5),1);
実行するたびに、次のエラーが表示されます。
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near 'user(),1,4) = 'root',SLEEP(5),1)' at line 1
私の目的は、ユーザーがルートかどうかをテストすることです。
SUBSTRING user(),1,4)
意味: 位置 1 から開始して、4 文字 (基本的には root) を取得します。データベース ユーザーが root の場合は、5 秒間一時停止します。
しかしSLEEP(5),1)
、指定された 5 秒間一時停止するように指示する以外に、それは何を意味するのでしょうか。
どうもありがとう