2012-11-29 80 views
0

这里是我的查询之一的SQL:PHP/MySQL的 - 选择

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']的$结果?

编辑::

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;

回答

1

试试这个:

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

$result['Car']值是一个数组,第一个元素被索引;该第一个元素的值再次是一个数组(一个项目,密钥'票价',值)。

+0

谢谢,这工作:-) – nsilva

1

你会得到值“100”正是因为你解释它,$fare = $result['Car']['Fare']; //$fare is 100