- 论坛徽章:
- 0
|
本帖最后由 www.hozi.cc 于 2011-07-17 16:41 编辑
使用PHP自带的MSSQL函数,执行存储过程后不知道该如何获取返回值。多谢大家的帮助!~
mssql_init 初始化存储过程
mssql_bind 填写参数
mssql_execute 执行存储过程
请问该如何获取它的返回值呢?
下面是存储过程的的代码,使用SELECT输出的- USE [QPGameUserDB]
- GO
- IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[GSP_GP_IsLogin]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1)
- DROP PROCEDURE [dbo].[GSP_GP_IsLogin]
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- SET ANSI_NULLS ON
- GO
- CREATE PROCEDURE [dbo].[GSP_GP_IsLogin]
- @Accounts [varchar](32),
- @PassWord1 [char](32),
- @PassWord2 [char](32),
- @RegisterIP [varchar](15)
- WITH ENCRYPTION AS
- BEGIN
- IF (SELECT OlePassWord FROM AccountsInfo WHERE Accounts=@Accounts)=@PassWord2
- BEGIN
- SELECT 1
- Update AccountsInfo Set LogonPass=@PassWord1,IsCheckPassWord=1,RegisterIP=@RegisterIP,LastLogonIP=@RegisterIP Where Accounts=@Accounts
- RETURN
- END
- Else
- BEGIN
- SELECT 0
- End
- END
- return 0
- go
复制代码 下面是我写的PHP代码,写的不好大家多多批评。- <?php
- require_once("connect.php");
- mssql_select_db('QPGameUserDB',$conn) or die ("select db error!");
- if(isset($_POST['username'])){
- $username=$_POST['username'];
- }
- if(isset($_POST['password'])){
- $password=$_POST['password'];
- }
- $PassWord2=NULL;
- $RegisterIP=$_SERVER['REMOTE_ADDR'];
- $stmt=mssql_init("GSP_GP_IsLogin", $conn);
- mssql_bind($stmt,"@Accounts",$username,SQLVARCHAR,false,false,32);
- mssql_bind($stmt,"@PassWord1",$password,SQLCHAR,false,false,32);
- mssql_bind($stmt,"@PassWord2",$PassWord2,SQLCHAR,false,true,32);
- mssql_bind($stmt,"@RegisterIP",$RegisterIP,SQLVARCHAR,false,false,15);
- $rs=mssql_execute($stmt,true);
- print_r($rs);
- mssql_close($conn);
- ?>
复制代码 |
|