匹配表单输入到mysql数据库值

时间:2013-10-02 21:30:57

标签: php mysql preg-match

我有一个带有一组预定义电话号码的mysql数据库,看起来像这样。

  

创建表brukerTabell
    bruID int(11)NOT NULL AUTO_INCREMENT,
    fornavn varchar(255)NOT NULL,
    etternavn varchar(255)NOT NULL,
    email varchar(255)NOT NULL,
    telefon   set('98979695','97969594','90807090','90908080','40908070','45674849','46573823','45343456')NOT NULL,     fdag日期非空,
    主要关键(bruID
  )ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;

现在我想要在我的html表单中填写的telefonnumber只验证它是否与这些数字中的一个匹配。直到现在我有这个代码,但只能将输入验证为数字

$telefon = $_POST['telefon'];
$telefonregex = '[0-9]{8}';
if (!preg_match($telefonregex, $telefon)) {
    echo 'Invalid number';
}

用php文档中的变量带从mysql数据库中取出数字的任何方法,看看是否匹配?或者任何其他检查匹配的解决方案?所以我不必在preg_match中编写任何数字。

提前致谢

1 个答案:

答案 0 :(得分:0)

不,这是一个权衡集,你必须插入值,然后检查它是否插入到滚回,如果不是,使用telefon字段上的select concat_ws并检查长度是否容易该字符串与您输入的字符串相同。