소스를 살펴보자

id변수를 0에서시작해서 15길이까지 자른다.
잘보면 싱글쿼터가 하나 부족하다. 따라서 싱글쿼터를 붙여주어야하는데 싱클쿼터는 ''으로 치환된다. 그러나 substr함수를 이용하면 이 싱글쿼터도 자를 수 있다.
만약 admin_'이렇게 입력한다면 처음에는 replace함수로 인해
admin_''이렇게 바뀌지만 substr함수로 인해 admin_'이렇게 다시 15자리로 짤린다. 또한 MySQL은 'admin'과 'admin '을 같다고 여기기 때문에 참이 나온다.
