-2

データベースから (float) 値を取得しようとしていますが、結果を出力すると、値 (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);
       }

}

値を 1 つだけ選択していて、値の配列を返すべきではないことはわかっています。問題は$stmt->fetchAll();だと思いますが、これを何に変更する必要があるのか​​ よくわかりません。

4

1 に答える 1

1

fetchAll()ドキュメントから

PDOStatement::fetchAll()結果セットの残りのすべての行を含む配列を返します。配列は、各行を列値の配列または各列名に対応するプロパティを持つオブジェクトとして表します。

fetchColumn()文字列の結果だけを取得するために使用できます。

于 2013-03-30T11:44:26.187 に答える