如何在php中为每个数据库扩展转义字符串?
在任何人得出关于这个问题的性质的结论之前,我已经知道了
parameterized/prepared statements并且尽可能地使用它们.不幸的是,在构建动态查询时并不总是可以使用它们.
我有兴趣使用除MySQL以外的数据库,但我不能轻易找到关于如何为每个数据库扩展转义字符串以防止SQL Injection的良好来源. PHP文档列出了以下特定于供应商的数据库扩展.我把那些我最感兴趣的人加了下来: > CUBRID 对大多数参数化语句不起作用的动态查询示例: "Select $col1,$col2 from $table where $col1 = ?" 在$col1,$col2和$table被转义之后,该语句可以在预准备语句中使用. 解决方法
PostgreSQL和其他人(PDO)
PostgreSQL可以使用pg_escape_string进行字符串转义. 对于PostgreSQL,由于 除此之外,你应该使用PDO和prepared statements.他们会照顾它,你可以单独传递参数;就像pg_query_params()一样 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |