Php 文字与格式字符串ORA-06512不匹配

Php 文字与格式字符串ORA-06512不匹配,php,oracle,codeigniter,Php,Oracle,Codeigniter,我正在使用Oracle 10g和PHP codeigniter 我有一个通过SQL命令行运行的存储过程 以下是我的程序:- CREATE OR REPLACE PROCEDURE insertMovie (id IN NUMBER, title IN VARCHAR2, sdate IN DATE, edate IN DATE, image IN VARCHAR2, add_date IN DATE,

我正在使用Oracle 10g和PHP codeigniter

我有一个通过SQL命令行运行的存储过程

以下是我的程序:-

CREATE OR REPLACE PROCEDURE 
        insertMovie (id IN NUMBER, title IN VARCHAR2, 
            sdate IN DATE, edate IN DATE,
                        image IN VARCHAR2, add_date IN DATE,
            message OUT NUMBER) 
    AS
        BEGIN
            INSERT INTO tbl_movie (movie_id, movie_title, movie_sdate, movie_edate, movie_image, movie_add_date) 
            VALUES ( id, 'title', to_date(sdate, 'yyyy-mm-dd hh24:mi:ss'), to_date(edate, 'yyyy-mm-dd hh24:mi:ss'), 'movie_image', to_date(add_date, 'yyyy-mm-dd hh24:mi:ss'));
            message := 1;
        EXCEPTION
          WHEN OTHERS THEN
            message := 0;
        END;
/
现在,我正试图通过PHP(codeigniter)插入数据。 以下是我的模型函数:-

function add_movie($entity,$insertData,$time)
{
    $conn   = oci_connect("XXXXXX", "XXXXXX","XXXXXXX");
    if(!$conn)
    {
        echo "connect failed".oci_error();
    }   
    else
    {   
        echo "connect done at".date('d-m-y');

        // calling stored procedure insertMovie
        $insertMovieProcedureSQL = "BEGIN insertMovie(:id, :title, :sdate, :edate, :image , :add_date, :message); END;";
        $stmt = oci_parse($conn, $insertMovieProcedureSQL);
        //  Bind the input parameter
        oci_bind_by_name($stmt,':id',$insertData['movie_id']);
        oci_bind_by_name($stmt,':title',$insertData['movie_title']);
        oci_bind_by_name($stmt,':sdate',$insertData['movie_sdate']);
        oci_bind_by_name($stmt,':edate',$insertData['movie_edate']);
        oci_bind_by_name($stmt,':image',$insertData['movie_image']);
        oci_bind_by_name($stmt,':add_date',$insertData['movie_add_date']);

        // Bind the output parameter
        oci_bind_by_name($stmt,':message',$message,32);
        // Assign a value to the input 
        //$name = 'Harry';
        oci_execute($stmt);
        // $message is now populated with the output value
        echo "$message\n";
    }   
}
我正在从控制器调用函数,如下所示:-

public function testMovie()
{
    $insertData['movie_id'] = 1;
    $insertData['movie_title']= 'test';
    $insertData['movie_sdate']= '2017-02-24 00:00:00';
    $insertData['movie_edate']= '2017-02-27 00:00:00';
    $insertData['movie_image']= 'rfgt';
    $insertData['movie_add_date']= '2017-02-20 00:00:00';
    $this->load->model('oracle_model');
    $return = $this->oracle_model->add_movie('movie',$insertData,'');   
}
我收到以下错误消息:

Message: oci_execute(): ORA-01861: literal does not match format string ORA-06512: at line 1
我怎样才能解决这个问题?

的可能重复