中国开发网: 论坛: 程序员情感CBD: 贴子 897035
没脾气2x: 我很讨厌屏蔽引号等字符的正常提交
虽然前段时间论坛也出现过关于 ' 和 / 的一些异常。
那是俺不太了解php的结果。


其实,如果一定要用拼串的方法,
给所有的 SQL 中的字符串,加上一个 sqlstr( ) 的函数包装,
给所有的 SQL 中的数值,加上一个 sqlnum( ) 的函数包装即可。

例如:
sql += " WHERE fuckingcall = '" + sqlstr(query("fuckingcall")) + "' ";
sql += " WHERE fuckingtimes = " + sqlnum(query("fucking")) + " ";

sqlnum 要判断是否为数值
sqlstr 里面把所有 ' 替换成 '',mysql 之类还要把 \ 替换成 \\
如果有 LIKE 另议。

有些语言里还要判断串里是否有 \x00 异常中断字符串的情况,
如ASP调用ADODB.Command。


最好还是不要用拼串,自己代码严谨还好,小伙记写的不好查问题。
但是拼串应是最显而易见、运行效率最高的方法吧?

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录