检查drupal数据库中是否存在值

时间:2014-07-18 15:31:00

标签: php forms drupal drupal-7

我正在drupal中制作一个表单,并想检查我的数据库中是否已存在电子邮件。

  db_insert('CASL_SUBBED')
    ->fields(array(


      'email' => $form_state['values']['email'],//email
      'ip' => $ip55,//ip
      'substatus' => $subbed,
      'datetime' => $sDate,//date and time

这是我插入数据库的代码,但我希望在将其插入之前查看该电子邮件是否已存在。反正有没有这样做?感谢。

1 个答案:

答案 0 :(得分:2)

我认为你不能插入并检查它是否同时存在。尝试检查它是否存在,然后运行插入,如果它不喜欢这样:

    $hasEmail = db_select('CASL_SUBBED', 'n')
        ->fields('n')
        ->condition('email', $form_state['values']['email'],'=')
        ->execute()
        ->fetchAssoc();

    if(!$hasEmail) {
        db_insert('CASL_SUBBED')
            ->fields(array(
              'email' => $form_state['values']['email'],//email
              'ip' => $ip55,//ip
              'substatus' => $subbed,
              'datetime' => $sDate,//date and time
        ))
        ->execute();    
    }