检查value是否在两个列值之间


Check if value is between two column's values

我是php和sql的新手,所以我在任务中遇到了一些问题。

任务是:我有一个数据库3列,有一个城市名称,minValue和maxValue。这个数据库必须有大约200行,如下所示:

| COL 1 | COL 2 | COL 3|

| 圣保罗| 65000000 | 65050000|

|巴西利亚| 6900000 | 65090000|

我必须接收一个值,并检查它是否在COL 2和COL 3之间,这必须检查表中的每一行

现在我从post中获取值,并执行以下操作:

 <body>
  <?php 
  $cep = $_POST["cep"];
  $connect = mysqli_connect("--db settings--");
  $query = mysqli_query($connect, "SELECT * FROM tabela_cep WHERE $cep BETWEEN `COL 2` AND `COL 3`");
  $dados= mysqli_fetch_array($query);
    $cep_lenght = strlen((string)$cep);
    if($cep_lenght == 7) {
        $cep = (string)$cep;
        $cep = "0" . $cep;
    }else{
        return;
    }
    if($dados) {
    echo "<p>The value <strong>$cep</strong> is valid !</p>";
  }else {
    echo "<p>The value <strong>$cep</strong> is invalid !</p>";
  }
     ?>

问题是:我提交的每个值都被认为是有效的。

我现在正在学习PHP,但我是从基础开始的,因为我需要尽快解决这个问题,我需要你的帮助…我哪里做错了?

SELECT * FROM tabela_cep WHERE $cep > `COL 2` AND $cep < `COL 3`

也如前所述,您没有对输入进行消毒。确保这样做是为了避免SQL注入。