问题描述:
由表单输入mysql语句,然后提交给PHP程序,由PHP程序做相应的查询并返回结果,在使用时发现如果在表单中输入有特殊字符(如'' "" 等)时,PHP会自动在它们的前面加上转义字符 "",但是一旦它加上以后,则无法再用这条语句做sql查询了。
解决方法:
在表单中输入:
select * from device_information where manager_team regexp 'huawei'
打印出来后变成了:
select * from device_information where manager_team regexp 'huawei'
查看php.ini文件中,magic_quotes_gpc选项的值应该是on。
可以考虑使用stripslashes函数来解决。
有关stripslashes函数的使用说明,请参考文章:
php stripslashes与addslashes
http://www.jb200.com/shouce/php5/function.stripslashes.html