【发布时间】:2010-09-08 00:09:12
【问题描述】:
以下是开始对话的几种可能性:
- 在初始化时转义所有输入。
- 转义每个值,最好是在生成 SQL 时。
第一个解决方案不是最理想的,因为如果您想在 SQL 以外的任何地方使用每个值,例如在网页上输出,则需要取消转义每个值。
第二种解决方案更有意义,但是手动转义每个值很痛苦。
我知道prepared statements,但是我发现MySQLi 很麻烦。此外,将查询与输入分开也让我感到担忧,因为尽管正确顺序很重要,但很容易出错,从而将错误的数据写入错误的字段。
【问题讨论】: