Код, который я получил до сих пор, возвращает то, что мне нужно.Я не вижу, что здесь происходит не так.С «плохой» настройкой кода это дает правильный вывод, но я думаю, что лучше делать это правильно.И почему это не работает?
неправильный вывод: 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