如何检查两个WordPress数据库表中是否存在值

时间:2018-03-07 13:12:36

标签: php mysql database wordpress

我有两个注册表格,individual-register.php和school-registration.php。每个人都将数据保存在他们自己的不同表中。每个人都创建自己独特的用户类型(个人和学校)

在两个文件中,我成功检查数据库中是否存在电子邮件地址,如果存在,则返回错误消息。但是现在我需要检查以确保注册时的电子邮件地址不存在于两个表中的任何一个表中。

这很特殊,因为在第一个代码块(individual-register.php)中,它允许我注册,除非我尝试使用电子邮件地址,否则它根本不会给我任何错误知道存在于与该表单对应的表中。 我在teacher-register.php中有类似的东西,即使我输入一个全新的电子邮件地址,它也不允许我注册任何内容并返回错误信息。请参阅代码:

个体register.php

        $results_match_email = $wpdb->get_row( 'SELECT * FROM wp_register where artistemail="'.$_REQUEST['artistemail'].'"');
  $check_school_email=$wpdb->get_row( 'SELECT * FROM wp_register_teacher where schoolemail="'.$_REQUEST['schoolemail'].'"');


    if(count($results_match_email) || count($check_school_email) > 0){
      $insert_save=0;
    }


    else{
        $insert_save=$wpdb->insert("wp_register",$insert_reg);
        $lastid = $wpdb->insert_id;
    }   

教师register.php

    $results_match_email = $wpdb->get_row( 'SELECT * FROM wp_register_teacher where schoolemail="'.$_REQUEST['schoolemail'].'"');

       $check_individual_email=$wpdb->get_row( 'SELECT * FROM wp_register where artistemail="'.$_REQUEST['artistemail'].'"'); 


       if(count($results_match_email) > 0){

  $insert_save=0;

       }
       else
       {
          $insert_save=$wpdb->insert("wp_register_teacher",$insert_reg); 
          $lastid_teacher = $wpdb->insert_id; 
       }   

1 个答案:

答案 0 :(得分:0)

您可以这样做:

Select count(*) as availableemailcount from wp_register, wp_register_teacher where wp_register.artistemail='a@a.com' or wp_register_teacher.schoolemail='a@a.com' 

运行此查询将取消计数。如果count大于0,则电子邮件不存在。