我刚刚修复了一些代码的输出,以便使用wpdb
函数从存储在数据库中并从数据库中检索的字符串中删除斜杠。然后我期望必须在我的代码的另一部分修复相同的问题,其中字符串存储在数据库中并从数据库中检索,但注意到没有添加斜杠,所以我对自动添加斜杠时有点困惑。以下是我遇到的这两个案例的观察结果:
案例1 - 我需要在输出上删除斜杠
$_POST
数据会自动使用斜杠进行转义$wpdb->insert
和$wpdb->update
数据最终以数据库中的斜杠$wpdb->get_row
和$wpdb->get_results
检索的数据有斜杠案例2 - 我不需要在输出上删除斜杠
$_POST
数据会自动使用斜杠进行转义$wpdb->query
插入和更新数据最终没有数据库中的斜杠$wpdb->get_row
和$wpdb->get_results
检索的数据没有斜杠我的问题是:
wpdb
函数时处理转义的最佳做法是什么?答案 0 :(得分:0)
来自codex:
$ data列和$ data值都应该是“raw”(两者都不应该是SQL转义)。这意味着如果您使用GET或POST数据,则可能需要使用striplashes()来避免数据库中的斜杠。
您可能还想查看此部分:http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks