私にとっては興味深いバグがあります。
私が実行したクエリに従ってください。
すべてが正常です。
mysql> select hex(current_user());
Result : 726F6F74406C6F63616C686F7374
すべてが正常です。
mysql> select substring(hex(current_user()),1,15);
Result : 726F6F74406C6F6
substringメソッドの2番目と3番目のパラメーターにnull文字列を追加しました。すべてが正常です。
mysql> select substring(hex(current_user()),''+1,''+15);
Result : 726F6F74406C6F6
サブ文字列のfirsパラメータにnull文字列を追加すると、726。:Sのみが返されます。最新のクエリと同じ結果を期待していました。
mysql> select substring(hex(current_user())+'',1,15);
Result : 726
mysql> select substring(hex(current_user())+'',2,15);
Result : 26
mysql> select substring(hex(current_user())+'',3,15);
Result : 6
mysql> select substring(hex(current_user())+'',4,15);
Result : NULL
私はMysql5.0.95と5.1.61と同じ問題でテストしました..!サブストリングの代わりにmid関数を使用して同じクエリをテストしました。もう一度同じです。
何か案が ?ある種のWebアプリケーションファイアウォールルールバイパスに取り組んでいて、そのバグに気づきました。