如何向oracle存储过程传递date类型的参数

janeywong 2008-12-10 12:28:06
在.net中可以这样
cmd.Parameters.Add(New OracleParameter("iStartDate", DbType.Date)).Value = CDate("2008-11-20")
asp中可以这样
Cmd.Parameters.Append Cmd.CreateParameter("iStartDate", adDate, 1, , beginDate)
请问在php中应该怎么表示呢?
存储过程中是这样定义的
iStartDate DATE, -- 查询起始时间
iEndDate DATE, -- 查询结束时间
...全文
430 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzxccsu 2008-12-10
  • 打赏
  • 举报
回复
call prossce('iStartDate ','iEndDate');
janeywong 2008-12-10
  • 打赏
  • 举报
回复
难道都没用过吗?
janeywong 2008-12-10
  • 打赏
  • 举报
回复

CREATE OR REPLACE PACKAGE CURSPKG AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE sp_test (iStartDate date,iEndDate date,iAgentID varchar,iAgentWorkGroup varchar,iType int,iVDNUserName varchar,rCursor IN OUT T_CURSOR);
END CURSPKG;

这是存储过程的包头定义
janeywong 2008-12-10
  • 打赏
  • 举报
回复

<?php

try {
$Oracle_conn=oci_connect("icd","icd","IPCC");

$cur=oci_new_cursor($Oracle_conn);

$query="call curspkg.sp_test(:iStartDate,:iEndDate,:iAgentID,:iAgentWorkGroup,:iType,:iVDNUserName,:rcursor );";
$statement=oci_parse($Oracle_conn,$query);

// $iStartDate=date("Y-m-d H:i:s",strtotime("2008-11-20 00:00:00"));
// $iEndDate=date("Y-m-d H:i:s",strtotime("2008-11-21 00:00:00"));
// $iStartDate=date_parse("2008-11-20 00:00:00");
// $iEndDate=date_parse("2008-11-21 00:00:00");

$iStartDate="2008-11-20 00:00:00";
$iEndDate="2008-11-21 00:00:00";
$iAgentID=iconv("utf-8","gb2312","0|所有|0|0");
$iAgentWorkGroup = iconv("utf-8","gb2312","0|所有|0|0");
$iType=1;
$iVDNUserName="102";

oci_bind_by_name($statement,":iStartDate",$iStartDate);
oci_bind_by_name($statement,":iEndDate",$iEndDate);
oci_bind_by_name($statement,":iAgentID",$iAgentID,40);
oci_bind_by_name($statement,":iAgentWorkGroup",$iAgentWorkGroup,40);
oci_bind_by_name($statement,":iType",$iType,2);
oci_bind_by_name($statement,":iVDNUserName",$iVDNUserName,20);

oci_bind_by_name($statement,":rcursor",$cur,-1,OCI_B_CURSOR);
oci_execute($statement);

oci_execute($cur);

oci_fetch_all($cur, $data, 0, -1, OCI_ASSOC+OCI_FETCHSTATEMENT_BY_ROW);
$result = json_encode($data);

oci_free_statement($statement);
oci_close($Oracle_conn);
}catch(Exception $e){
echo $e->getMessage();
}
?>

这是php代码,可还是不行啊

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧