コンソールでテストした MySQL (ユーザーRoss Smith IIのおかげ) にクエリがあります (数時間前に 1 日 10 時間 34 分返されました)。何かを見落としているか、このクエリのどこかに、自分がしようとしていることを実行できないという条件があります。いくつかの洞察を本当に感謝します。上部のタイムスタンプは別のテーブルから選択された変数になることに注意してください。ただし、このクエリの目的のために、同じ形式で時刻を入力しました。すべての変数を取り出して生データを試しましたが、SQL クエリでは引き続き機能しますが、PHP にエコーさせることができません。Fatal error: Call to a member function fetch_assoc() on a non-object を受け取りました。再度、感謝します。
$aquery = ("SET @start = \"2013-01-19 07:56:22\";
SET @end = NOW();
SELECT
CONCAT(
FLOOR(
(
UNIX_TIMESTAMP(@end) - UNIX_TIMESTAMP(@start) - 86400 * (
(FLOOR(DATEDIFF(@end, @start) / 7) * 2) +
IF(WEEKDAY(@end) > 4, WEEKDAY(@end) - 4, 0) +
IF(WEEKDAY(@end) < WEEKDAY(@start), 2, 0)
)
) / 86400
),
' days ',
TIME_FORMAT(
SEC_TO_TIME(
(
UNIX_TIMESTAMP(@end) - UNIX_TIMESTAMP(@start) - 86400 * (
(FLOOR(DATEDIFF(@end, @start) / 7) * 2) +
IF(WEEKDAY(@end) > 4, WEEKDAY(@end) - 4, 0) +
IF(WEEKDAY(@end) < WEEKDAY(@start), 2, 0)
)
) % 86400
),
'%H hours %i minutes'
)
) AS duration");
$aresult = $mysqli->query($aquery);
// while( $row = $result->fetch_assoc() ) {
// Edited typo above, does not fix.
while ( $row = $aresult->fetch_assoc() ) {
echo ($row['duration']);
}