$stmt = $dbh->prepare("SELECT * FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id WHERE t1.username = :user AND date_format(t2.date, 'Y-m-d') == :time");
$stmt->bindValue(':time', date_format($time, 'Y-m-d'), PDO::PARAM_STR);
$stmt->bindValue(':user', $user, PDO::PARAM_STR);
我有这个代码来检查日期是否相等。同样的方式同一天像January 1, 1990 == January 1, 1990
但是我得到的是date_format() expects parameter 1 to be DateTimeInterface,
尝试mysql str_to_date
$stmt = $dbh->prepare("SELECT * FROM table1 AS t1 INNER JOIN table2 AS t2 ON t1.id = t2.id WHERE t1.username = :user AND str_to_date(t2.date,'%M %d, %Y') == :time");
$stmt->bindValue(':time', str_to_date($time,'%M %d, %Y'), PDO::PARAM_STR);
$stmt->bindValue(':user', $user, PDO::PARAM_STR);