如果要解析空值,请使用preg_match检查值

时间:2015-08-31 13:53:14

标签: php

我想用preg_match检查输入值。因此,如果用户在输入字段上插入任何内容,preg_match将检查此值,否则返回错误。但是如果没有输入值,sql只保存空字段。

当我在输入字段上插入任何内容时,preg_match运行良好,但如果输入值为空,则此preg_match会在sql上插入任何内容。

这是:

$langu = mysqli_real_escape_string($db, $_POST['langu']);
$relig = mysqli_real_escape_string($db, $_POST['relig']);

if(preg_match("/^([0-9a-zA-Z])+$/i", $langu) || preg_match("/^([0-9a-zA-Z])+$/i", $relig)){
// insert at sql
// If $langu or $relig is empty store empty, but I cannot parsing empty value by preg_match
} else { echo 'error';}

1 个答案:

答案 0 :(得分:0)

您可以先检查字符串是否为空:

if(
   (!empty($langu) && preg_match("/^([0-9a-zA-Z])+$/i", $langu)) || 
   (!empty($relig) && preg_match("/^([0-9a-zA-Z])+$/i", $relig))
) {

(格式化,以便您可以看到条件)