php
  • mysql
  • pdo
  • 2017-04-02 44 views 1 likes 
    1

    我執行一個SQL查詢,使用PHP,這是代碼:如何得到一組記錄在php

    $get_inspection_dates_query = "SELECT `date` 
                  FROM `vehicles` INNER JOIN `inspection_dates` ON `plate` = `id_vehicle` 
                  WHERE `plate` = '$vehicle_plate'"; 
    $result_set = $connection->query($get_inspection_dates_query); 
    $inspection_dates = $result_set->fetchAll(PDO::FETCH_NUM); 
    

    inspection_dates是:

    Array 
    (
    [0] => Array 
        (
         [0] => 2012-01-01 
        ) 
    
    [1] => Array 
        (
         [0] => 2013-01-01 
        ) 
    
    ) 
    

    ,但我不希望這樣。 我只是想記錄的一個數組,而列(甚至是因爲我只選擇一列,所以我並不需要有數組裏的數組),這樣的事情:

    Array 
    (
        [0] = 2012-01-01 
        [1] = 2013-01-01 
    ) 
    

    我知道,我能達到這樣的while循環和fetch$row = $result_set->fetch()),但我認爲這是一個有點棘手。 是否有任何其他的方法來快速獲得陣列?

    回答

    3

    嘗試使用PDO::FETCH_COLUMN而不是PDO::FETCH_NUM

    $inspection_dates = $result_set->fetchAll(PDO::FETCH_COLUMN); 
    
    +0

    謝謝,我認爲這是最簡單的方案! :) – Clyky

    +0

    @Clyky但是,這也必須在你自己的循環中循環? – RiggsFolly

    +0

    @RiggsFolly不,我簡單地改變了'$ inspection_dates = $ result_set-> fetchAll(PDO :: FETCH_NUM);'帶'$ inspection_dates = $ result_set-> fetchAll(PDO :: FETCH_COLUMN);'它給了我正是我想要的 – Clyky

    1

    只需在一個時間內得到每個結果之一,並放置日期在這樣的陣列中

    $get_inspection_dates_query = "SELECT `date` 
               FROM `vehicles` INNER JOIN `inspection_dates` ON `plate` = `id_vehicle` 
               WHERE `plate` = '$vehicle_plate'"; 
    $result_set = $connection->query($get_inspection_dates_query); 
    
    $inspection_dates = array(); // init an empty array 
    while ($row = $result_set->fetch(PDO::FETCH_NUM)) { 
        $inspection_dates[] = $row[0]; 
    } 
    
    +0

    所以不存在任何其他方式來獲得這個沒有一個循環? – Clyky

    +0

    可能,但請記住'$ result_set-> fetchAll()'是一個循環,它只是在後面運行 – RiggsFolly

    +0

    你確定,但我更喜歡使用最簡單的解決方案;) – Clyky

    2

    要更改inspection_dates你願意,你可以使用什麼:

    $whatYouWant = array_column($inspection_dates,0); 
    
    +0

    謝謝你的回答,但我認爲巴勃羅的答案更簡單:) – Clyky

    +0

    是的,它更簡單,但你確定它做你想要的嗎?這樣做沒有錯。 –

    +0

    是的,我試過了,它給了我我想要的東西。 – Clyky

    相關問題