PHP调用Oracle,mysql,mssql server 储存过程方法

作者:袖梨 2022-06-24

下面总结了三种流行的数据库教程如何利用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; //打印出从存储过程中返回的输出参数值

相关文章

精彩推荐