【www.gdgbn.com--Mssql】

下面总结了三种流行的数据库教程如何利用php教程 来调用它们的存储过程,我们讲有mysql教程,oracle,mssql server哦。

function check_login($user, $pass) {
         $conn = ocilogon("user", "pass", "database");
         $sql = "begin :result := test.check_login(:user, :pass); end;";
         $stmt = oci_parse($conn, $sql);
        
         $result = "";
         oci_bind_by_name($stmt, ":user", $user, 32);
         oci_bind_by_name($stmt, ":pass", md5($pass), 32);
         oci_bind_by_name($stmt, ":result", $result, 10);
         oci_execute($stmt);
         ocilogoff($conn);
        
         return $result;
}
?>

调用mysql

存储过程改成:
create procedure in_out(in uid int) begin
set @msg="hello";
select *,@msg from manage_loginhistory where h_uid=uid;
end;
php调用改成:
$sql = "call in_out(39)";
$rs=mysql_query($sql);
$row=mysql_fetch_array($rs);

调用ms sql server

$user_name = "龙之泪";      //声明一个变量,用做存储过程的输入参数
   $password = "123456";       //再声明一个变量,用做存储过程的另一个输入参数
   $info = "";                            //$info,用来接受从存储过程输出的参数值
   $host="192.168.0.1";         //定义数据库服务器
   $user="sa";                        //连接用户名
   $password="123456";        //连接密码
   $db="sample";                    //数据库名称
   $dblink=mssql_connect($host,$user,$password) or die("can"t connect to mssql"); //连接数据库服务器
   mssql_select_db($db,$dblink)   or die("can"t select sample");//选择数据库

   $sp = mssql_init("test");  //初始化一个存储过程

   //为存储过程添加一个参数,@user_name为参数名,$user_name为参数对应的php变量,sqlvarchar表明该参数类型为sql server的varchar类型,第一个false表示该参数不是输出参数,即该参数是输入参数,第二个false表示该参数不允许为null,最后的30表示该变量的长度为30
   mssql_bind($sp,"@user_name",$user_name,sqlvarchar,false,false,30);
   mssql_bind($sp,"@password",$password,sqlvarchar,false,false,30);
   mssql_bind($sp,"@info",$info,sqlvarchar,true,false,30); //为存储过程添加一个输出参数
   mssql_execute($sp); //执行该存储过程

   echo $info; //打印出从存储过程中返回的输出参数值

本文来源:http://www.gdgbn.com/shujuku/28895/