5

このような SQL ステートメントを使用して、10 分を超える 2 つのタイムスタンプの差を取得しようとしています。「タイムスタンプ」は、「1365793346」などのタイムスタンプを保持するMYSQLの列です

SELECT * FROM table WHERE TIMESTAMPDIFF(MINUTE,timestamp,NOW()) AS thisisit

「AS thisisit」の使用が TIMESTAMPDIFF の現在の機能であるかどうかはわかりませんが、そのように使用された古い投稿を見つけることができました。「AS thisisit」で構文エラーが発生したため、サポートされているかどうかはわかりません

私も使ってみました

SELECT * FROM table WHERE TIMESTAMPDIFF(MINUTE,timestamp,NOW()) > 10

何が起こっているのかわからないのは、最初に構文が正しいことと、2番目にこのクエリをラベルに関連付けてエコーできるようにする方法です。私の完全な PhP コードは次のようになります

SELECT * FROM table WHERE TIMESTAMPDIFF(MINUTE,timestamp,NOW()) > 10
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
echo $row[0];
}

このようなものを使用して結果をエコーできると思っていましたが、画面には何も表示されません。誰かが私を正しい方向に向けることができますか?

echo $row[0];
4

1 に答える 1

14

AS thisisitこの場合、列にエイリアスを設定するために使用する必要があります。

したがって、次を使用する必要があります。

SELECT timestamp AS 'thisisit'
    FROM table
WHERE TIMESTAMPDIFF(MINUTE, timestamp, NOW()) > 10;
于 2013-04-12T23:10:05.447 に答える