2017-12-02 4 views
0

교수님이 PHP와 SQL (Oracle)을 사용하여 프로젝트를 수행하도록 요청했으며 이전에는 클래스 나 외부에서 PHP를 사용하지 않았습니다. 입력 내용이 올바르지 않다고 말하는 실행 행에 오류가 계속 발생합니다. 입력 영역에서 내가 잘못하고있는 것이 있습니까? 아니면 다른 것입니다. 저장 프로 시저를 실행하려고합니다. (오류 코드는 ORA-06550입니다.)SQL * PLUS 프로 시저 호출이 올바른지 확인하는 데 도움이 필요합니다. (PHP)

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); 
} 
+0

질문을 편집하고 오류의 정확한 텍스트를 포함하십시오. 또한 호출중인 저장 프로 시저의 소스 코드를 포함하십시오. 감사. –

답변

0

나는 * SQL에 대해 아무것도 볼 수없는 플러스

1/당신은 당신의 PHP 함수에 반환 조항을 추가해야 2/어쩌면 makeReservation을 BEGIN ' "시도 (: roomNo : custID : 카드 번호, TO_DATE (: startDate, '월 dd YYYY': : startTime, TO_DATE (: endDate, 'month dd YYYY'), : endTime); END; " 3 /보다 확실한 : startDate 및 : endDate는 올바른 형식 4/각 바인드에 대해 4 번째 매개 변수 $ maxlength = -1을 더할 수 있습니다.

관련 문제