php mysql 字符转义问题
<input type=name value='this's a apple' />
后台处理
$name=addslashes($_POST['name']);//转义单引号
insert的时候,是不是带着转义符号一起存到数据库里?还是去掉转义符号存进去?
如果是带着转义符号存入到数据库,这就出现了一个小问题
如果我要查义name是不是重复,就需要对$name进行比较
依然进行转义 $name=addslashes($_POST['name']);
SELECT count(*) AS num FROM talbe WHERE name = $name
num显示的是0,也就是说找不到相同的,
打印sql语句为 SELECT count(*) AS num FROM talbe WHERE name = 'this/'s a apple'
num的值为零,我打开数据库发现,name这个字段的值是 this/'s a apple,这样肯定不能找到
如果将$name,再转义一次才能找到,$name的值就是 this///'s a apple 才能找到纪录
也就是说用两次addslashes函数
请问大家是如何处理这样的问题?如果要用两次不是很麻烦吗?