Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将表单输入匹配到mysql数据库值_Php_Mysql_Preg Match - Fatal编程技术网

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

Php 将表单输入匹配到mysql数据库值,php,mysql,preg-match,Php,Mysql,Preg Match,我有一个mysql数据库,其中包含一组预定义的电话号码,如下所示 创建表格brukerTabell( bruIDint(11)非空自动增量, fornavnvarchar(255)不为空, etternavnvarchar(255)不为空, emailvarchar(255)不为空, telefon 集合('98979695','97969594','90807090','90908080','40908070','45674849','46573823','45343456')不为空, fda

我有一个mysql数据库,其中包含一组预定义的电话号码,如下所示

创建表格
brukerTabell

bruID
int(11)非空自动增量,
fornavn
varchar(255)不为空,
etternavn
varchar(255)不为空,
email
varchar(255)不为空,
telefon
集合('98979695','97969594','90807090','90908080','40908070','45674849','46573823','45343456')不为空,
fdag
日期不为空,
主键(
bruID

)ENGINE=InnoDB默认字符集=latin1自动增量=1

现在,我希望在我的html表单中填写的电话号码只验证它是否与这些号码中的一个匹配。到目前为止,我已经有了这段代码,但它只验证作为数字的输入

$telefon = $_POST['telefon'];
$telefonregex = '[0-9]{8}';
if (!preg_match($telefonregex, $telefon)) {
    echo 'Invalid number';
}
有没有办法在我的php文档中使用variabel从mysql数据库中提取这些数字,看看是否存在匹配项?或任何其他解决方案来检查是否匹配?所以我不必在比赛前写下任何数字


提前感谢

不,这是一个折衷方案,您必须插入值,然后检查它是否插入正确,如果插入不正确,使用telefon字段上的select concat_w轻松地回滚,并检查该字符串的长度是否与您输入的长度相同。

不确定您在这里要问什么。。。您发布的电话号码通过regex进行验证(假设它们随后被插入数据库?)-您是否询问是否可以在不使用PHP的情况下验证数据库中已经存在的所有号码(例如,使用MySQL的regex:)@pregmatch不认为这是他想要的。他实际上希望有人编写PHP代码来检查输入的数字是否存在于他的表中。发问者,这很简单,但不是这个网站的风气。尝试一些东西,如果它不起作用,请寻求帮助,而不是免费咨询。首先,他是一个她,我不希望有人写代码。我想问的是,是否有任何方法可以从数据库中提取数字而不将它们全部写出来,以及数据库中的“set”函数是否是预定义值的正确方法。是否有一个SELECT X from X语法我也许可以使用。我没有写代码,因为我不知道是否有这样的事情