PHP PDO选择结果显示为数组
我试图从数据库中获取(float)值,但当我打印结果时,它显示为“Array”,而不是值(20) 代码如下:-PHP PDO选择结果显示为数组,php,mysql,pdo,Php,Mysql,Pdo,我试图从数据库中获取(float)值,但当我打印结果时,它显示为“Array”,而不是值(20) 代码如下:- public static function getTourFare($fieldTour) { $pdo = new SQL(); $dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database
public static function getTourFare($fieldTour) {
$pdo = new SQL();
$dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);
try {
$query = "SELECT Fare FROM tbltours
WHERE TourName = '$fieldTour'";
$stmt = $dbh->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll();
$stmt->closeCursor();
print_r($result[0]);
return $result;
$dbh = null;
}
catch (PDOException $pe) {
die("Error: " .$pe->getMessage(). " Query: ".$stmt->queryString);
}
}
我知道它只选择了一个值,不应该返回一个值数组。我认为问题在于$stmt->fetchAll()代码>,但我不太确定这需要更改为什么?来自文档
PDOStatement::fetchAll()
返回包含所有
结果集中的剩余行。数组将每行表示为
列值数组或具有属性的对象
对应于每个列名称
您可以使用仅获取字符串结果。float
不是整数。
是否尝试了fetchAll()手动输入?fetchAll始终返回2d数组,即使只有一行。。。这不是PHP中的bug,而是标准的文档化行为:print\r($result[0]['Fare'])代码>