1
我試圖在PHP這個SQL查詢來獲取的計算值:$sql = "SELECT SUM(amount) as IncomeSum FROM income WHERE year = " . $year;
在運行PHP PDO的語句返回布爾(假)
的我嘗試這個功能與PDO獲取結果:
function getDatafromDB($query, $columnName){
require 'db.php';
try {
$pdo = new PDO("mysql:host=localhost;dbname=$db_name", $db_user, $db_pass);
$statement = $pdo->prepare($query);
$retValue = $statement->fetch(PDO::FETCH_ASSOC);
var_dump($retValue);
return $retValue[$columnName];
} catch (PDOException $e) {
$error = "Error!: " . $e->getMessage() . "<br/>";
return $error;
die();
}
}
我這樣調用該函數:
$sql = "SELECT SUM(amount) as IncomeSum FROM income WHERE year = " . $year;
$retValue = getDatafromDB($sql, "IncomeSum");
但是,當我var_dump($retValue)
在功能上面我總是得到
布爾(假)
作爲結果。
在我的思維中,別名是否存在問題或其他問題?
您是否想過'執行()'準備好的查詢? – AbraCadaver
@AbraCadaver你的意思是'execute()'而不是'fetch()'? – Fabian
否...準備,執行然後獲取。見例子http://php.net/manual/en/pdostatement.fetch.php – AbraCadaver