gpt4 book ai didi

php - mysql "between date"查询在 phpmyadmin 中有效,但使用 PDO 不返回任何内容

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:38 24 4
gpt4 key购买 nike

当我尝试使用 php/pdo 运行它时,结果为空,但是当我替换变量并回显查询并将粘贴复制到 phpmyadmin 时,它可以正常工作。

我猜它与查询中的 BETWEEN 部分有关,如果我删除它它会起作用。

php代码:

$sql = 'SELECT * from `activity` 
WHERE `activity`.`employee_id` = :id
AND `activity_endtime` BETWEEN :start
AND :end
ORDER BY :order LIMIT 0 ,:limit';

$date_end = date('Y-m-d',time());
$date_start = date('Y-m-01',strtotime($date_end));
$values = array(
':id' => $_SESSION['user_id'],
':start' => '"'.$date_start.'"',
':end' => '"'.$date_end.'"',
':order' => 'activity_id',
':limit' => '10');
$q->execute($values);

while($r = $q->fetch(PDO::FETCH_ASSOC)){
//does not get here after adding the between part
}

我通过替换参数和回显得到的查询:

SELECT * from `activity` 
WHERE `activity`.`employee_id` = 7
AND `activity_endtime` BETWEEN "2014-08-01"
AND "2014-08-18"
ORDER BY activity_id LIMIT 0 ,10

最佳答案

不要用引号将值括起来。

改变

':start' => '"'.$date_start.'"', 
':end' => '"'.$date_end.'"',

':start' => $date_start, 
':end' => $date_end,

让我知道它是否适合你。

关于php - mysql "between date"查询在 phpmyadmin 中有效,但使用 PDO 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25363472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com