Mis*_*hko 9 wordpress escaping wpdb
向我使用的数据库添加新行$wpdb->insert,并获取我使用的行$wpdb->get_results.
问题是$wpdb->insert似乎正在逃避输入.例如,a"b保存a\"b在数据库中.但是,$wpdb->get_results似乎没有反转义回a\"b至a"b.
这是设计的正确行为吗?
我应该$wpdb->get_results手动取消结果吗?(这是什么功能?)
$wpdb->insert()并且$wpdb->prepare()将难逃数据,以防止SQL注入攻击.该$wpdb->get_results()函数旨在与SQL SELECT语句一起使用,因此我认为斜杠保留在原位的事实是故意的.这允许数据的使用者在必要时处理它.
由于$wpdb->get_results()函数返回一个stdClass对象数组,为了删除每一行中所有列的斜杠,必须遍历行,并通过运行PHP stripslashes()函数的每个行对象的属性.
foreach( $quotes as &$quote ) {
foreach( $quote as &$field ) {
if ( is_string( $field ) )
$field = stripslashes( $field );
}
}
Run Code Online (Sandbox Code Playgroud)
有关wpdb-> get_results()函数的更多信息:http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
| 归档时间: |
|
| 查看次数: |
4754 次 |
| 最近记录: |