如何从MySQL datetime中减去日期,其中table被指定为MySQL函数.

Rel*_*elm 2 php mysql sql datetime

我正在使用以下"日期(时间)"从日期时间获取日期,并且没有任何错误.

SELECT * FROM $t WHERE owner = '$sn' && DATE(time) = '$d';
Run Code Online (Sandbox Code Playgroud)

但是当表格联合时,我尝试使用"p.DATE(time)",我得到了这个错误.

FUNCTION p.DATE does not exist. Check the 'Function Name Parsing and Resolution'
Run Code Online (Sandbox Code Playgroud)

这是我使用"p.DATE(time)"的完整代码.

function get_m_stats($con,$sn,$d=NULL,$t=NULL,$o=NULL){
$get_day = mysqli_query($con, "
SELECT m.* , COUNT(p.sid) frequency FROM music m
  JOIN $t p 
  ON p.sid = m.sid 
  WHERE p.sid != '' AND p.owner = '$sn' AND p.DATE(time) = '$d'    
  AND m.perms = 'a'
  GROUP BY m.sid 
  ORDER BY frequency $o 
  LIMIT 1") or die(mysqli_error($con));
$row_day = mysqli_fetch_array($get_day);
echo $row_day['title'];
}
Run Code Online (Sandbox Code Playgroud)

我怎么写'p.DATE(time)'?

Ame*_*nde 7

你正在为函数分配别名.把它放在列名上

 function get_m_stats($con,$sn,$d=NULL,$t=NULL,$o=NULL){
$get_day = mysqli_query($con, "
SELECT m.* , COUNT(p.sid) frequency FROM music m
  JOIN $t p 
  ON p.sid = m.sid 
  WHERE p.sid != '' AND p.owner = '$sn' AND DATE(p.time) = '$d'    
  AND m.perms = 'a'
  GROUP BY m.sid 
  ORDER BY frequency $o 
  LIMIT 1") or die(mysqli_error($con));
$row_day = mysqli_fetch_array($get_day);
echo $row_day['title'];
}
Run Code Online (Sandbox Code Playgroud)