lostyazilim
tr.link

PHP Oracle Sorunu (Çözene hosting hediye ediyorum)

6 Mesajlar 1.261 Okunma
acebozum
tr.link

Jason Jason WM Aracı Kullanıcı
  • Üyelik 30.05.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum İzmir
  • Ad Soyad E** Y**
  • Mesajlar 47
  • Beğeniler 11 / 13
  • Ticaret 1, (%100)
Merhaba arkadaşlar oracle veritabanına php ile veri eklemeye çalışıyorum ancak ORA-00932 inconsistent datatypes: expected NUMBER got DATE hatası alıyorum. Öncelikle sorguyu Oracle sql developer'da çalıştırdığımda yeni kayıt ekleyebiliyorum yani sorguda bağlanyıda problem yok.

Sorun php ile sorgu çalışırken tarih formatından kaynaklanıyor diye düşünüyorum.

Eklemeye çalıştığım tarih verisi $MYDATE: 23.07.2017 18:10:00

$MYDATE= $data[$i]->MYDATE;
$str = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'DD.MM.YYYY HH24:MI:SS'");
oci_execute($str);
//
$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID,:MYDATE)';
$compiled = oci_parse($conn, $sql);
oci_bind_by_name($compiled, ':ID', $ID);
oci_bind_by_name($compiled, ':MYDATE', $MYDATE);
oci_execute($compiled);


Sorunu çözen arkadaşa hosting paketi hediye edeceğim.
 

 

elektronikssl
webimgo

YORci YORci yorci.com Kullanıcı
  • Üyelik 06.02.2016
  • Yaş/Cinsiyet 30 / E
  • Meslek Arkaplan Yazılım
  • Konum Ankara
  • Ad Soyad I** Y**
  • Mesajlar 261
  • Beğeniler 88 / 127
  • Ticaret 21, (%100)

$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID,to_date(:MYDATE, "DD.MM.YYYY HH24:MI:SS"))';


bu şekilde denedin mi?
Jason

kişi bu mesajı beğendi.

BDuman BDuman WM Aracı Kullanıcı
  • Üyelik 16.01.2014
  • Yaş/Cinsiyet 34 / E
  • Meslek Bilgisayar Müh. Öğrencisi
  • Konum İzmir
  • Ad Soyad B** D**
  • Mesajlar 8
  • Beğeniler 1 / 2
  • Ticaret 3, (%100)

$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID, TO_DATE(:MYDATE))';
Jason

kişi bu mesajı beğendi.

SizofrenikDev SizofrenikDev WM Aracı Kullanıcı
  • Üyelik 05.10.2016
  • Yaş/Cinsiyet 38 / E
  • Meslek Yazılım Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad H** B**
  • Mesajlar 187
  • Beğeniler 8 / 49
  • Ticaret 2, (%100)
Merhaba,

Oracle versiyonuna göre değişen bir hata durumu

TO_DATE('07/24/2017', 'MM/DD/YYYY')

olarak denersen sıkıntı çözülür.
Jason

kişi bu mesajı beğendi.

wmaraci
wmaraci

Jason Jason WM Aracı Kullanıcı
  • Üyelik 30.05.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum İzmir
  • Ad Soyad E** Y**
  • Mesajlar 47
  • Beğeniler 11 / 13
  • Ticaret 1, (%100)

YORÇI adlı üyeden alıntı


$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID,to_date(:MYDATE, "DD.MM.YYYY HH24:MI:SS"))';


bu şekilde denedin mi?


BDuman adlı üyeden alıntı


$sql = 'INSERT INTO MYTABLE(ID,MYDATE)'.'VALUES(:ID, TO_DATE(:MYDATE))';


ŞizofrenikDev adlı üyeden alıntı

Merhaba,

Oracle versiyonuna göre değişen bir hata durumu

TO_DATE('07/24/2017', 'MM/DD/YYYY')

olarak denersen sıkıntı çözülür.





Denedim arkadaşlar sorun devam ediyor.
 

 

Jason Jason WM Aracı Kullanıcı
  • Üyelik 30.05.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Geliştirici
  • Konum İzmir
  • Ad Soyad E** Y**
  • Mesajlar 47
  • Beğeniler 11 / 13
  • Ticaret 1, (%100)
Sorun çözüldü arkadaşlar ilgilendiğiniz için teşekkürler. Çözüm ise oci_bind_by_name değerleri tüm bunları kaldırarak :mydate tarzı değişkenler yerine sorgu satırında '".$mydate."' olarak kullandım. bu şekilde çözüldü.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al