我试图将日期参数绑定到存储过程。 $ conn没问题,所有参数都是正确的。我直接在db中调用此过程没有问题。我试图打印错误,但我什么也得不到。我现在没有附加exec_cur因为我猜,问题在于绑定或调用过程。 我也尝试引用i_start和i_end:
TO_DATE(':i_start', 'DD.MM.YYYY'), TO_DATE( ':i_end', 'DD.MM.YYYY')
在我看来,调用没有得到结果。我从代码中调用它时得到空光标。在直接调用它时,我收到了很多条目。
这里的功能:
function &HST($conn, $i_qot_id, $i_startend, $i_order_by, $i_max_rows, $v_cache_filename)
{
$outrefc = oci_new_cursor($conn);
$oerr = OCIError( $outrefc);
echo "Fetch Code 1:".$oerr["message"];
$mycursor = oci_parse($conn, "begin PPCKG.HST (:i_qot_id, TO_DATE(:i_start, 'DD.MM.YYYY'), TO_DATE( :i_end, 'DD.MM.YYYY') , :i_order_by, :i_max_rows, :curs); end");
print $i_startend[0].$i_startend[1].$i_qot_id. $i_order_by. $i_max_rows;
$oerr = OCIError( $mycursor);
echo "Fetch Code 1:".$oerr["message"];
oci_bind_by_name($mycursor, ':i_qot_id' , $i_qot_id);
oci_bind_by_name($mycursor, ':i_start' , $i_startend[0]);
oci_bind_by_name($mycursor, ':i_end' , $i_startend[1]);
oci_bind_by_name($mycursor, ':i_order_by', $i_order_by);
oci_bind_by_name($mycursor, ':i_max_rows', $i_max_rows);
oci_bind_by_name($mycursor, ':curs' , $outrefc, -1, OCI_B_CURSOR);
$oerr = OCIError( $mycursor);
echo "Fetch Code 1:".$oerr["message"];
return exec_cur( $mycursor, $outrefc, $v_cache_filename);
}