2017-08-05 9 views
0

クエリのデータを取得するためにこのPHPコードがあります。クエリで特定の列を取得します。

$result = $stmt->fetchAll(); 

結果は次のとおりです。

array(1) (
    [0] => array(2) (
    [min_date] => (string) 2017-04-27 
    [0] => (string) 2017-04-27 
) 
) 

私はちょうどMIN_DATE値を取得する必要があります。ヘルプをいただければ幸いです。

+1

ちょうどそれが実際にストアドプロシージャだ、と私は進んでいないよ、この値に –

+0

@NigelRenを選択するために、あなたのSQLを変更する方が良いだろう... –

+0

それがどのように見えます1つのカラムだけを選択していますが、 'PDO :: FETCH_BOTH'を使っているので、名前付きインデックスと数値インデックスの両方を取得できます。指定されたインデックスを取得するために 'PDO :: FETCH_ASSOC'を使用してください。 – Barmar

答えて

0

PDO :: FETCH_COLUMN引数を追加するだけです。

$min_date = $stmt->fetchAll(PDO::FETCH_COLUMN, 0)[0]; 

min_dateがSQLクエリテーブルの最初の列であると仮定します。

EDIT:最適な方法:

$min_date = $stmt->fetch(PDO::FETCH_COLUMN, 0); 
+0

ありがとうございますが、私はまだ得ます:array(1)([0] =>(string)2017-04-27) –

+0

@Danaは常に1つだけを返します行? – MinistryofChaps

+0

はい、常に1行だけです。 –

0

array_column()関数を見てください。これは特にこのようなものです。すべてrecorsの「MIN_DATE」値のリストを取得するには

:だけに

$min_dates = array_column($result, 'min_date'); 

は、最初のものを得る:

$min_date = $result[0]['min_date']; 

をしかし、レコードが存在しない場合、それは意志クエリから返さエラーが発生した場合は、代わりにこれを実行します。

$min_date = isset($result[0]['min_date'])?$result[0]['min_date']:'not_found'; 

取得する(文字列) 'not_found'がない場合結果または

$min_date = isset($result[0]['min_date'])?$result[0]['min_date']:false; 

(bool)falseを取得する。あなたはその考えを得る。

+0

ありがとうございます。結果は次のようになります。array(1)( [0] =>(string)2017-04-27 ) –

+0

@Danaよろしくお願いします。最初のレコードの「min_date」値、またはそれらのすべてが必要ですか? –

+0

私はちょうど最初のレコードが必要です –

関連する問題