[阅读: 508] 2011-06-29 02:56:32
虽然前段时间论坛也出现过关于 ' 和 / 的一些异常。
那是俺不太了解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。
最好还是不要用拼串,自己代码严谨还好,小伙记写的不好查问题。
但是拼串应是最显而易见、运行效率最高的方法吧?