0

我有这样的数据,我称之为普通表:

    z       0         0.01       0.02  
   ---    ------     -------    ------

   -3.4   0.0003     0.0003     0.0003

   -3.3   0.0005     0.0005     0.0005

   -3.2   0.0007     `0.0007`     0.0006

   -3.1   0.001      0.0009     0.0009

   -3     0.0013     0.0013     0.0013

我的值是 z =-3.21

这意味着 z 在行 =-3.2和列 = 中的值0.01

所以,我会得到价值=0.0007

我在代码中使用 PDO 从数据库中获取任何值:

public function SelectTableZ($col, $z){
        try{
            $query = "SELECT :col as value FROM table_normal WHERE z=:z";

            $this->Statement = $this->Connection->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

            $this->Statement->bindParam(":col",$col,PDO::PARAM_STR);

            $this->Statement->bindParam(":z",$z,PDO::PARAM_STR);

            $this->Statement->execute();

            $this->Statement->setFetchMode(PDO::FETCH_OBJ);

            $result = $this->Statement->fetchAll();

            $this->Statement->closeCursor();

            if($result){
                return $result;
            } /*else throw new Exception("Comment not selected!");*/ else return false;
        }catch(Exception $e){
            echo "Caught Exception: ".$e->getMessage();
            return null;
        }
    }

这是我想从数据库中获取的值:

$value = -3.21;

$Z = number_format($value * 10, 0, '', '') / 10;

$col = substr(floor($value * 100), -1);
if ($col > 0) { 
    $col /= 100; 
}

$SelectTableZ = $session->SelectTableZ($col, $z);
if(!empty($SelectTableZ)){
  foreach($SelectTableZ as $data){
    echo $data->value;
  }
}

这个问题有什么解决办法吗?

谢谢。

4

0 回答 0