使用PREPARE和DELETE哪个删除查询更好

时间:2014-09-30 作者:alex

只是想知道两个delete查询中的哪一个是首选方法

$qdel = $wpdb->query($wpdb->prepare("DELETE FROM $shopping_meta_table WHERE meta_shopping_key = \'%s\' AND wp_user_id = %d", \'product-2\', $id));

$qdel = $wpdb->delete($shopping_meta_table,array(\'meta_shopping_key\' => \'product-2\', \'wp_user_id\'=>$id));

1 个回复
最合适的回答,由SO网友:Rohil_PHPBeginner 整理而成

通过您的reputation , 看来你对wordpress很了解。

使用prepare 查询中的方法是确保我们没有处理非法操作或任何非法字符。因此,我建议您使用删除prepare 方法

除此之外,你可能知道SQL INJECTION. 发布之前wordpress 2.5, 有$wpdb->escape() 防止SQL注入,其工作是防止SQL注入攻击和阻止坏人。自WordPress 2.5以来,一个新的$wpdb函数被称为“prepare”,它的工作是防止SQL转义。

因此,在执行SQL查询之前,必须对SQL查询中的所有数据进行SQL转义,以防止SQL注入攻击。这个prepare 方法为WordPress执行此功能,它支持类似sprintf()和类似vsprintf()的语法。

Read more 关于SQL escaping.

Prepare Function.

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register