PHP程序中处理MSSQL存储过程
第一步创建如下存储过程
CREATE PROCEDURE [DBO].[Create_login]
@UserName varchar(20),
@UserID varchar(20),
@PassWord varchar(20),
@PassWord2 varchar(20)
IF @UserName is null OR @PassWord is null OR @PassWord2 is null OR
@UserID is null
BEGIN
END
IF @UserName = @PassWord OR @UserName = @PassWord2
BEGIN
END
IF EXISTS(SELECT * FROM UserInfo WHERE UserName = @UserName)
BEGIN
END
IF @PassWord <> @PassWord2
BEGIN
END
INSERT INTO UserInfo (UserID,UserName,UserPass,UserPass2) VALUES (@UserID,@UserName,@PassWord,@PassWord2)
RETURN 0
GO
第二步如下代码在login.php
第三步如下代码在MyGame_save.php
提交
set_error_handler('myHandler');
function myHandler($code, $msg, $file, $line){
echo "Error at line $line.The error code was $code,and the reason for the error was: $msg";
}
?>
if(strtoupper($_SERVER["REQUEST_METHOD"])!="POST"){
die("错误:请勿在外部提交。"); } //检查页面获得方法是否为POST
?>
$conn=mssql_connect("0.0.0.0","id","pw");
mssql_select_db("dbname",$conn);
set_time_limit(60);
$stmt=mssql_init("Create_login",$conn);
mssql_bind($stmt,"@UserName",$_POST["txtID"],SQLVARCHAR);
mssql_bind($stmt,"@UserID",$_POST["txtUID"],SQLVARCHAR);
mssql_bind($stmt,"@PassWord",$_POST["txtPw"],SQLVARCHAR);
mssql_bind($stmt,"@PassWord2",$_POST["txtCompw"],SQLVARCHAR);
mssql_bind($stmt,"RETVAL",&$rt,SQLINT4);
$result=mssql_execute($stmt,true);
switch($rt)
{
case 0: print("注册成功");break;
case 1: print("输入项目为空");break;
case 2: print("用户名和密码不能相同");break;
case 3: print("该用户名已注册");break;
case 4: print("输入的密码不一致");break;
}
?>