wmaraci reklam
lidertakipci

PHP Oracle Sorunu (Çözene hosting hediye ediyorum)

6 Mesajlar 1.099 Okunma
advertseo
wmaraci reklam

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.
 

 

wmaraci
reklam

YORci YORci yorci.com Kullanıcı
  • Üyelik 06.02.2016
  • Yaş/Cinsiyet 29 / 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 33 / 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 37 / 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
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al