Ben garip bir meseleyi ben PHP kullanmak oci_bind_by_name
fonksiyonuna bağlı bugün sahip.
Sana bir vitrin vereyim.
Burada basit tarihleri ile bir tablo:
create table test(col1 date);
insert into test values(to_date('01/01/2009','DD/MM/YYYY'));
insert into test values(to_date('01/01/2019','DD/MM/YYYY'));
insert into test values(to_date('01/01/2029','DD/MM/YYYY'));
insert into test values(to_date('01/01/2039','DD/MM/YYYY'));
I :dt_maj_deb
ve :dt_maj_fin
01/01/2009 ve örneğin 2019/01/02 bağlanan bu sorguyu başlatıyor 2 satır neden olur:
SELECT *
FROM TEST
WHERE col1 BETWEEN TO_DATE (:dt_maj_deb, 'DD/MM/YYYY')
AND TO_DATE (:dt_maj_fin, 'DD/MM/YYYY')
Results
-------
01.01.2009
01.01.2019
Yani her şeyi biz beklediğiniz gibi değildir. Ben PHP aynı sorguyu başlatmak istiyorum Benim husustur. İşte benim test kodu:
$query = "SELECT * FROM TEST
WHERE col1 BETWEEN TO_DATE (:dt_maj_deb, 'DD/MM/YYYY')
AND TO_DATE (:dt_maj_fin, 'DD/MM/YYYY')";
$stmt = oci_parse($conn,$query);
$value = '01/01/2009';
oci_bind_by_name($stmt,':dt_maj_deb',$value);
$value = '01/02/2019';
oci_bind_by_name($stmt,':dt_maj_fin',$value);
oci_execute($stmt);
oci_fetch_all($stmt, $result);
var_dump($result);
oci_free_statement($stmt);
oci_close($conn);
Results
-------
array(1) {
["COL1"]=>
array(0) {}
}
Ne eksik?