私は、PDOクエリを経由して結果をフェッチするこの小さな問題があります。取り出した値(CAST(.. AS DATETIME))PHPのエラー出力に出力
:
$result = $db->prepare("SELECT MIN(CAST(Tstart AS DATETIME)) , MAX(CAST(Tend AS DATETIME)) , FROM TimeBase WHERE Daynr = '131'"); $result->execute(); $keep = $result->fetch(); echo $keep['Tstart']; echo $keep['Tend'];
がエラーを生成します未定義のインデックス:T開始は
未定義のインデックス:MySQLの構文自体は、私はそれを直接実行した結果を返します
傾向があります。 PDOはMIN(CAST(.. AS DATETIME))
がなければ何の問題も生じていないので、問題はこの構文で何かをしなければならないと確信していますが、php変数(またはこの例ではecho)にフェッチする正しい方法を見つけることができません。 。
私の質問は、この場合のPHP変数としてフェッチされた行を理解する正しい方法は何ですか?
そこから、このコードを使用してdatetime行の時刻としてフォーマットすることができますか?
$Start_Time = $keep['time(Tstart)'];
どのデータ型がTstartですか? – scaisEdge
SQLがTstart列またはTend列のエイリアスを設定していません。これらの列で集計関数を実行しているので、名前なしで返されます。 – WillardSolutions
'var_dump($ keep)'には何が含まれていますか?私の推測では、おそらくあなたの選択ステートメントに列別名を与える必要があります。 – Quantastical