我到目前为止所做的代码都会返回我所需要的。我看不出这里出了什么问题。
通过对代码进行“不良”调整,它可以提供正确的输出结果,但我认为最好正确执行。
为什么它不起作用?
错误的输出:Array([L] => L)
右输出:Array([L] => 9)
这段代码给出了错误的输出:
public function getStockByID_SIZE($size, $stockId){
try {
$this->_dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sth=$this->_dbh->prepare("SELECT :size from stock WHERE id_product = :stockId");
$sth->bindValue(':size', $size, PDO::PARAM_STR);
$sth->bindValue(":stockId", $stockId);
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
return $result;
} catch (PDOException $e) {
return "Error";
}
}相同的代码,但有一个(坏)调整返回正确的代码:
$sth=$this->_dbh->prepare("SELECT $size from stock WHERE id_product = :stockId");//相比:
$sth=$this->_dbh->prepare("SELECT :size from stock WHERE id_product = :stockId");
$sth->bindValue(':size', $size); //use of PDO::PARAM_STR doenst matter for outcome