2014-01-02 5 views
0
function DBClosedTicket($TRANSACTIONID,$TRANSACTIONTYPE='') 

{ 

    $CLOSEDATE = DBGetDate(); //ex. value is 2013:01:02 17:03:20 

    $strQuery = "UPDATE TBL_TRANSACTION SET TRANSACTION_TYPE = :TRANSACTIONTYPE, CLOSE_DATE = :CLOSEDATE WHERE TRANSACTION_ID = :TRANSACTIONID"; 

    $stmt = oci_parse(DBConnect(), $strQuery); 
    oci_bind_by_name($stmt, ':TRANSACTIONID', $TRANSACTIONID); 
    oci_bind_by_name($stmt, ':TRANSACTIONTYPE', $TRANSACTIONTYPE); 
    oci_bind_by_name($stmt, ':CLOSEDATE', $CLOSEDATE); 

    oci_execute($stmt); 
    return $strQuery; 
} 

без ошибок и без результата, как я могу обновить с датой в Oracle с использованием PHPUpdate Заявление с указанием даты, используя PHP

+0

Почему вы установили '$ TRANSACTIONTYPE' для нулевой строки в параметрах функции? – rullof

+0

$ ОПИСАНИЕ ОПЕРАЦИОННОЙ МОИ ПРОБЛЕМЫ ДАТА – user3152630

+0

oci_bind_by_name ($ stmt, ': CLOSEDATE', $ CLOSEDATE); – user3152630

ответ

0

Вы должны изменить это заявление так, что Oracle понимает формат даты:

$strQuery = "UPDATE TBL_TRANSACTION SET TRANSACTION_TYPE = :TRANSACTIONTYPE, CLOSE_DATE = to_date(':CLOSEDATE', 'RRRR:MM:DD HH24:MI:SS') WHERE TRANSACTION_ID = :TRANSACTIONID"; 

Надеюсь, что DBGetDate() возвращает строковое значение, а тип данных CLOSE_DATE - DATE в Oracle db.

Если вышеуказанное изменение не работает, попробуйте заменить одинарные кавычки с ':CLOSEDATE'.

Смежные вопросы