PHP PDO选择结果显示为数组

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

我试图从数据库中获取(float)值,但当我打印结果时,它显示为“Array”,而不是值(20)

代码如下:-

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'])