我在 MySQL 中有一个查询(感谢用户 Ross Smith II ),我已在控制台中测试过该查询(几小时前返回 1 天 10 小时 34 分钟),我相对确定我的 PHP 是正确的,尽管有可能我忽略了一些事情,或者这个查询的某个地方有一个条件,我无法做我想做的事情。真的很感激一些见解。请注意,顶部的时间戳将是从另一个表中选择的变量,但为了此查询的目的,我以相同的格式设置了时间。我已经取出所有变量并尝试了原始数据,在 SQL 查询中仍然有效,但我无法让 PHP 回显它。我收到 fatal error :调用非对象上的成员函数 fetch_assoc()。再次感谢。
$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']);
}
最佳答案
$aresult = $mysqli->query($aquery);
while( $row = $result->fetch_assoc() ) {
echo ($row['duration']);
}
这看起来像是一个错字。您不应该使用 $aresult->fetch_assoc()
吗?
关于php - 有效的 MySQL 查询未返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471736/