编辑:事实证明这是测试数据不匹配。有些人发现下面的讨论很有用。
"SELECT tran_id, person_id, month_week FROM tran_to_time
WHERE month_week = :month_week AND send_time = :nowTime;";//
$statement = $pdo->prepare($sql);
$statement->bindValue(':month_week',$nowWeek, PDO::PARAM_INT);
$statement->bindValue(':nowTime',$nowTime, PDO::PARAM_INT);
$statement->execute();
$result=$statement ->fetchAll(PDO::FETCH_BOTH);
这工作正常(我认为)。
使用时间 = 1111 和月周 = 3 的虚拟数据,事情如下。
如果我移除AND
的任一侧,它可以正常工作。IE 如果我做WHERE month_week = :month_week
或我做WHERE send_time = :nowTime
我会得到一系列结果$result
.如果我使用 AND $result
为空。我尝试使用(),但无济于事。
TIA的任何想法。
如果我使用 AND $result为空
除了查询中的拼写错误;
;如果AND
条件返回空结果集,那么您的WHERE
条件肯定是FLASE
。表示以下条件与任何行都不匹配
WHERE month_week = :month_week AND send_time = :nowTime
> 正如@Rizier123指出的,你有一个错字。
WHERE month_week = :month_week AND send_time = :nowTime";//
而不是
WHERE month_week = :month_week AND send_time = :nowTime;";//