为什么添加转义字符可以防止SQL注入?

如题,为什么添加了转义字符就可以防止SQL注入了?

例如  

输入  1 and true

select * from table where id = 1 and true;

select * from table where id = '1 and true'

 

第一条会把全部数据都查出来

第二条会把id=1的查出来

请你举一个sql 注入的例子,说明sql 如何理解这注入的字符串;  再显示加了转义字符后, 这个注入的字符串是怎么被 sql 理解的? 

顾名思义,有了转义字符控制,没有准确的转义字符的注入就会报错