2017-12-02 9 views
0

mein Professor hat uns gebeten, ein Projekt mit PHP und SQL (Oracle) zu machen und ich habe PHP vorher weder im Kurs noch außerhalb davon gemacht. Ich bekomme immer einen Fehler in der Ausführungszeile, der sagt, dass meine Eingaben nicht korrekt sind. Gibt es etwas, das ich falsch im Eingabebereich mache, oder ist etwas anderes falsch? Ich versuche eine gespeicherte Prozedur auszuführen (Fehlercode ist ORA-06550).Benötigen Sie Hilfe beim Bestimmen, ob der SQL * PLUS-Prozeduraufruf korrekt ist (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

Bitte bearbeiten Sie Ihre Frage und fügen Sie den genauen Text des Fehlers hinzu. Geben Sie außerdem den Quellcode der gespeicherten Prozedur an, die Sie anrufen. Vielen Dank. –

Antwort

0

Ich sehe nichts nicht über SQL * Plus

1/Sie sollten eine Rückkehr-Klausel auf Ihre PHP-Funktion 2/Vielleicht versuchen „'BEGIN make hinzufügen (: roomNo,: CustID,: cardNo, TO_DATE (: startDatum, 'Monat TT YYYY',: StartTime, TO_DATE (: EndDatum, 'Monat TT YYYY'),: EndTime); END; ") 3/Sicher als: startDate und: endDate sind in a Korrektes Format 4/Fügen Sie einen vierten Parameter hinzu $ maxlength = -1 für jeden Bind

Verwandte Themen