0

これが私のクエリの1つのSQLです:

private static function getFixedFare($post_code_a, $post_code_b) {

    $pdo = new SQL();
    $dbh = $pdo->connect(Database::$serverIP, Database::$serverPort, Database::$dbName, Database::$user, Database::$pass);

    try {

        $query =   "SELECT VehicleSystemId, Fare FROM tblfixedfares
                    WHERE ShortPostCodeA = '$post_code_a'
                    AND ShortPostCodeB = '$post_code_b'
                    AND DayHalf = :day_half
                    AND VehicleSystemId IN ('Car', '6B')";

        $stmt = $dbh->prepare($query);

        $stmt->bindParam(':day_half', self::$day_half, PDO::PARAM_STR);

        $stmt->execute();

        $result = $stmt->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_GROUP);

        $stmt->closeCursor();

        $dbh = null;

        var_dump($result['Car']);

    }

    catch (PDOException $pe) {
        die("Error: " .$pe->getMessage(). " Query: ".$stmt->queryString);
    }

}

私がするとき、var_dump($result['Car']);私は次の応答を受け取ります:

array(1) {
  [0]=>
  array(1) {
    ["Fare"]=>
    string(3) "100"
  }
}

値「100」を取得するにはどうすればよいですか...つまり、基本的に['Car'] ['Fare']の$resultですか?

編集 ::

var_dump($cars);ショー:

    array(2) {
       ["Car"]=>
       array(1) {
       [0]=>
       array(1) {
       ["Fare"]=>
       string(3) "100"
       }
     }
     ["6B"]=>
     array(1) {
     [0]=>
     array(1) {
     ["Fare"]=>
     string(3) "700"
     }
    }

私はもう試した; $ result ['Car'] ['Fare']-しかし、これはNULLを返します。

4

2 に答える 2

1

説明したとおりに値「100」を取得します。$fare = $result['Car']['Fare']; //$fare is 100

于 2012-11-29T14:07:02.913 に答える
1

これを試して:

$value = $result['Car'][0]['Fare'];

の値$result['Car']は配列で、最初の要素のインデックスは0です。その最初の要素の値は再び配列です (1 つの項目、キー'Fare'、値100 )。

于 2012-11-29T14:10:06.950 に答える