0

我有可以从绑定变量中受益的简单 SQL 查询,所以我这样写:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id=':user_id' AND date(start_time)=date(':on_specific_day')");
$stmt->bindParam(':user_id',$where['user_id']); 
$stmt->bindParam(':on_specific_day',$where['on_specific_day']); 

如您所见,有一个称为关联数组where,用于存储我的 where 条件。当我执行此语句时,它不会返回任何错误,但行数为零。如果我放弃使用绑定变量的梦想并这样做:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id='{$where['user_id']}' AND date(start_time)=date('{$where['on_specific_day']}')");

查询运行良好,并在我的测试用例中返回 2 个结果。有人可以帮助我避免陷入疯狂。:^)

4

1 回答 1

3

您不需要PDO parameters用引号括起来:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id=:user_id AND date(start_time)=date(:on_specific_day)
于 2013-06-01T17:27:03.520 回答