和 mySQL 查询中的“不起作用”


AND "not working" in mySQL query

编辑:事实证明这是测试数据不匹配。有些人发现下面的讨论很有用。

"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;";//