我总是听到要使用准备好的陈述,但是wordpress呢?

时间:2019-07-09 00:06:32

标签: php mysql wordpress

问题1.我知道我不需要为wbdb->insertwbpdb->delete做这些事,但是即使班级会为您做,人们还是会说做。

// I've got a select count query function and should use it here.

global $wpdb;
$entries = $wpdb->prefix . 'simpledir_entries';
$count = $wpdb->get_var("SELECT COUNT(*) FROM $entries WHERE rel = $id;");

if($count <= 0){
    return false;
}else{
    return true;
}   

问题2。我不确定如何将其表达为经过完全保护的适当准备好的语句。 $ entries和$ id都需要吗?

谢谢

1 个答案:

答案 0 :(得分:1)

回答第一个问题:WordPress中的Prepare语句为安全执行准备了SQL查询。它使用类似sprintf()的语法。

对于第二个问题:对于get_var查询,该语句应类似于以下内容:

global $wpdb;
$entries = $wpdb->prefix . 'simpledir_entries';
$count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM %s WHERE rel = %d;", $entries, $id));

if($count <= 0){
    return false;
}else{
    return true;
}

祝你好运!