使用$ pdoObject-> execute()绑定参数有效,但是bindValue()无效

时间:2019-10-10 09:16:01

标签: php pdo mariadb bindvalue

bindValue()不起作用,但如果我用硬线连接或使用该查询,该查询就会很好地工作

$pdo->execute([':s_dt'=>$a, ':e_dt'=>$b]);

它们之间有什么区别?

我无法向您显示一些信息,所以我更改了值和表的名称。

这是查询:

select *
from (     
    select *, max(p) as tt
    from  a, c, b 
    where 1=1
            and c.cb=b.cb
            and c.a=b.a
            and dt >= :s_dt
            and dt <= :e_dt
            and a.t = "t"
            and a.s= "1"
            and a.cn= c.cn
            and a.a1=c.a1_n
            and a.a2=c.a2_n                 
            and (b.ct = 1 or b.ct2 = 1 or b.ct3= 1 )
            group by a.ct, a.ct2 a.ct3, a.t, a.a                    
) t
where 1=1
    and (t.p-t.s)  <0                       
    order by d desc , g asc

无效的php代码。

$query_pdo->bindValue(':s_dt', '2019-10-02', PDO::PARAM_STR);
$query_pdo->bindValue(':e_dt', '2019-10-10', PDO::PARAM_STR);
$query_pdo->execute();

其他有效的php代码。

$query_pdo->execute([':s_dt'=>'2019-10-02', ':e_dt'=>'2019-10-10']);

0 个答案:

没有答案