Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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从数据库中提取并添加到脚本中的条件运算符_Php_Mysql - Fatal编程技术网

如何使用PHP从数据库中提取并添加到脚本中的条件运算符

如何使用PHP从数据库中提取并添加到脚本中的条件运算符,php,mysql,Php,Mysql,我将我的条件运算符存储在数据库中,因为我们有一系列不同的条件,需要动态地将其插入代码中。 因此,我从数据库中提取条件操作符,然后将其存储在变量中。但是我需要在if语句中使用操作符。 如何在if语句中插入它并将其用作常规条件运算符 下面是一些代码示例: $cond_operator = "<"; // (but this opperator actually pulled from database) if ( $actual_value $cond_operator $score_val

我将我的条件运算符存储在数据库中,因为我们有一系列不同的条件,需要动态地将其插入代码中。 因此,我从数据库中提取条件操作符,然后将其存储在变量中。但是我需要在if语句中使用操作符。 如何在if语句中插入它并将其用作常规条件运算符

下面是一些代码示例:

$cond_operator = "<"; // (but this opperator actually pulled from database)

if ( $actual_value $cond_operator $score_value ) {
    return $result;
}

你能做你所展示的事情的唯一方法就是使用。但人们普遍不赞成使用eval,因为它引入了许多潜在的安全漏洞

我会进行硬编码,以避免评估,并确保我可以控制我想要支持的特定操作员:

$cond_operator = "<"; // (but this operator actually pulled from database)

switch ($cond_operator) {
  case "<":
    if ( $actual_value < $score_value ) {
      return $result;
    }
    break;
  case ">":
    if ( $actual_value > $score_value ) {
      return $result;
    }
    break;
  case "==":
    if ( $actual_value == $score_value ) {
      return $result;
    }
    break;
  default:
    trigger_error("Unsupported condition operator: '$cond_operator'");
}

你能做你所展示的事情的唯一方法就是使用。但人们普遍不赞成使用eval,因为它引入了许多潜在的安全漏洞

我会进行硬编码,以避免评估,并确保我可以控制我想要支持的特定操作员:

$cond_operator = "<"; // (but this operator actually pulled from database)

switch ($cond_operator) {
  case "<":
    if ( $actual_value < $score_value ) {
      return $result;
    }
    break;
  case ">":
    if ( $actual_value > $score_value ) {
      return $result;
    }
    break;
  case "==":
    if ( $actual_value == $score_value ) {
      return $result;
    }
    break;
  default:
    trigger_error("Unsupported condition operator: '$cond_operator'");
}

这回答了你的问题吗?这并不像看上去那么简单。如果语句解释器为true as variables而不是空,这是否回答了您的问题?这并不像看上去那么简单。if语句解释器作为true作为变量不为空