0

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

0 に答える 0