我有这样的数据,我称之为普通表:
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;
}
}
这个问题有什么解决办法吗?
谢谢。