免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3295 | 回复: 1
打印 上一主题 下一主题

请问php执行SQL SERVER的存储过程后如何获取返回值? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-17 16:26 |只看该作者 |倒序浏览
本帖最后由 www.hozi.cc 于 2011-07-17 16:41 编辑

使用PHP自带的MSSQL函数,执行存储过程后不知道该如何获取返回值。多谢大家的帮助!~
mssql_init 初始化存储过程
mssql_bind 填写参数
mssql_execute 执行存储过程

请问该如何获取它的返回值呢?

下面是存储过程的的代码,使用SELECT输出的
  1. USE [QPGameUserDB]
  2. GO

  3. IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[GSP_GP_IsLogin]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1)
  4. DROP PROCEDURE [dbo].[GSP_GP_IsLogin]
  5. GO

  6. SET QUOTED_IDENTIFIER ON
  7. GO

  8. SET ANSI_NULLS ON
  9. GO

  10. CREATE PROCEDURE [dbo].[GSP_GP_IsLogin]
  11.         @Accounts         [varchar](32),
  12.         @PassWord1         [char](32),
  13.         @PassWord2  [char](32),
  14.         @RegisterIP [varchar](15)       
  15. WITH ENCRYPTION AS
  16. BEGIN

  17.         IF (SELECT OlePassWord FROM AccountsInfo WHERE Accounts=@Accounts)=@PassWord2
  18.         BEGIN
  19.                 SELECT 1
  20.                 Update AccountsInfo Set LogonPass=@PassWord1,IsCheckPassWord=1,RegisterIP=@RegisterIP,LastLogonIP=@RegisterIP Where Accounts=@Accounts
  21.                 RETURN
  22.         END
  23.         Else
  24.                 BEGIN
  25.                 SELECT 0
  26.                 End


  27. END
  28. return 0
  29. go
复制代码
下面是我写的PHP代码,写的不好大家多多批评。
  1. <?php
  2.         require_once("connect.php");
  3.         mssql_select_db('QPGameUserDB',$conn) or die ("select db error!");
  4.         if(isset($_POST['username'])){
  5.                 $username=$_POST['username'];
  6.                 }
  7.         if(isset($_POST['password'])){
  8.                 $password=$_POST['password'];
  9.                 }
  10.         $PassWord2=NULL;
  11.         $RegisterIP=$_SERVER['REMOTE_ADDR'];
  12.         $stmt=mssql_init("GSP_GP_IsLogin", $conn);
  13.         mssql_bind($stmt,"@Accounts",$username,SQLVARCHAR,false,false,32);
  14.         mssql_bind($stmt,"@PassWord1",$password,SQLCHAR,false,false,32);
  15.         mssql_bind($stmt,"@PassWord2",$PassWord2,SQLCHAR,false,true,32);
  16.         mssql_bind($stmt,"@RegisterIP",$RegisterIP,SQLVARCHAR,false,false,15);
  17.         $rs=mssql_execute($stmt,true);
  18.         print_r($rs);
  19.         mssql_close($conn);
  20. ?>
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-07-17 22:28 |只看该作者
你 print_r($PassWord2) 看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP