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']);