我想检查已经在表meta-key中的数据库中的名为cf_isbn的cf_isbn的值。如果重复值,则防止插入内容。
我有一段代码,如果我将xxxxxxx值放在前面的后置输入中的ISBN字段中,这是正确的,但是主要的一点是用查询更改xxxxxxx以检查数据库中已经存在的值。
有什么php向导知道如何帮助我吗?
function wpufe_isbn_validation( $errors ) {
if( $_POST['cf_isbn'] == 'xxxxxxx' ) {
$errors[] = 'this ISBN is already in database';
}
return $errors;
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );发布于 2015-05-19 08:49:34
你应该能够这样做:
function wpufe_isbn_validation( $errors )
{
global $wpdb;
$check = $wpdb->query( $wpdb->prepare("
SELECT *
FROM wp-postmeta
WHERE meta_key = cf_isbn AND meta_value = ".$_POST['cf_isbn']) );
if(!empty($check))
{
return true;
}
else
{
return false;
}
}
add_filter( 'wpuf_add_post_validation', 'wpufe_isbn_validation' );然后,您可以根据返回的内容执行另一个函数/代码块。显然,如果上面的返回为true,则ISBN是重复的,不需要插入。
https://stackoverflow.com/questions/30320525
复制相似问题