首页 >后端开发 >php教程 >php 调用mssql 存储过程不能执行问题

php 调用mssql 存储过程不能执行问题

WBOY
WBOY原创
2016-06-23 14:04:361237浏览

存储过程不能执行还是什么情况,反正不能出现结果

require("../inc/hbmconn.php");//传入vip 姓名$name=iconv("utf-8","gb2312",$_REQUEST['name']);$startTime="2012-04-01";$endTime="2012-04-03";$procedure = mssql_init("procGetVIPConsumeDetail",$conn);mssql_bind($procedure,"@vipConsumerFilter",$name, SQLVARCHAR); mssql_bind($procedure,"@startDate",$startTime, SQLDATETIME); mssql_bind($procedure,"@endDate",$endTime, SQLDATETIME); $resource = mssql_execute($procedure);mssql_free_statement($procedure);


不能执行,不知啥情况,路过的帮忙看看


回复讨论(解决方案)

echo mssql_get_last_message();
看看有无错误信息

echo mssql_get_last_message();
看看有无错误信息

常量 SQLDATETIME 没有定义
请确认你书写的是否正确
你还可以 print_r(get_defined_constants());
看一下是否有类似的常量

最后那条错误信息的含义不太清楚,可能是日期格式不对吧

//传入vip 姓名$name=iconv("utf-8","gb2312",$_REQUEST['name']);//echo $name;$startTime="1970-01-01";$endTime=date("H-m-d");$procedure = mssql_init("procGetVIPConsumeDetail",$conn);mssql_bind($procedure,"@vipConsumerFilter",$name, SQLVARCHAR); mssql_bind($procedure,"@startDate",$startTime,  SQLVARCHAR); mssql_bind($procedure,"@endDate",$endTime,  SQLVARCHAR); $resource = mssql_execute($procedure);mssql_free_statement($procedure);



把日期也换成SQLVARCHAR 格式,莫名其妙的就好了...我那个去!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn