需要帮助确定SQL * PLUS过程调用是否正确(PHP)

时间:2017-12-02 04:34:10

标签: php oracle oracle11g sqlplus

我的教授要求我们使用PHP和SQL(Oracle)做一个项目,我从来没有在课堂之前或之外做过PHP。我一直在执行行上收到错误,说明我的输入不正确。在输入区域有什么我做错了,或者是否有其他错误。我正在尝试执行存储过程。(错误代码是ORA-06550)。

function makeReservation($conn, $roomNo, $custID, $cardNo, $startDate, $startTime, $endDate, $endTime){
    $procedure = oci_parse($conn, 'BEGIN makeReservation(:roomNo, :custID, :cardNo, TO_DATE(:startDate, \'month dd YYYY\'), :startTime, TO_DATE(:endDate, \'month dd YYYY\'), :endTime);  END;');
    oci_bind_by_name($procedure, ':roomNo', $roomNo);
    oci_bind_by_name($procedure, ':custID', $custID);
    oci_bind_by_name($procedure, ':cardNo', $cardNo);
    oci_bind_by_name($procedure, ':startDate', $startDate);
    oci_bind_by_name($procedure, ':startTime', $startTime);
    oci_bind_by_name($procedure, ':endDate', $endDate);
    oci_bind_by_name($procedure, ':endTime', $endTime);
    oci_execute($procedure);
}

1 个答案:

答案 0 :(得分:0)

我对SQL * Plus

一无所知

1 /你应该在php函数中添加一个return子句 2 /也许尝试''BEGIN makeReservation(:roomNo,:custID,:cardNo,TO_DATE(:startDate,'month dd YYYY',:startTime,TO_DATE(:endDate,'month dd YYYY'),:endTime); END; “) 3 /确定:startDate和:endDate的格式正确 4 /可以为每个绑定添加第四个参数$ maxlength = -1