当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 13:32:46 浏览: 评论:0 

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

PHP实例代码如下:

  1. <?php 
  2. function check_login($user$pass) { 
  3.          $conn = ocilogon('user''pass''database'); 
  4.          $sql = 'begin :result := test.check_login(:user, :pass); end;'
  5.          $stmt = oci_parse($conn$sql); 
  6.          //开源代码phpfensi.com 
  7.          $result = ''
  8.          oci_bind_by_name($stmt':user'$user, 32); 
  9.          oci_bind_by_name($stmt':pass', md5($pass), 32); 
  10.          oci_bind_by_name($stmt':result'$result, 10); 
  11.          oci_execute($stmt); 
  12.          ocilogoff($conn); 
  13.           
  14.          return $result
  15. ?> 

调用mysql,存储过程改成:

  1. create procedure in_out(in uid int) begin 
  2. set @msg='hello'
  3. select *,@msg from manage_loginhistory where h_uid=uid; 
  4. end

php调用改成:

  1. $sql = "call in_out(39)"
  2. $rs=mysql_query($sql); 
  3. $row=mysql_fetch_array($rs); 

调用ms sql server:

  1. $user_name = '龙之泪';      //声明一个变量,用做存储过程的输入参数 
  2.    $password = '123456';       //再声明一个变量,用做存储过程的另一个输入参数 
  3.    $info = '';                            //$info,用来接受从存储过程输出的参数值 
  4.    $host="192.168.0.1";         //定义数据库服务器 
  5.    $user="sa";                        //连接用户名 
  6.    $password="123456";        //连接密码 
  7.    $db="sample";                    //数据库名称 
  8.    $dblink=mssql_connect($host,$user,$passwordor die("can't connect to mssql"); //连接数据库服务器 
  9.    mssql_select_db($db,$dblink)   or die("can't select sample");//选择数据库 
  10.  
  11.    $sp = mssql_init("test");  //初始化一个存储过程 
  12.  
  13.    //为存储过程添加一个参数,@user_name为参数名,$user_name为参数对应的php变量,sqlvarchar表明该参数类型为sql server的varchar类型,第一个false表示该参数不是输出参数,即该参数是输入参数,第二个false表示该参数不允许为null,最后的30表示该变量的长度为30 
  14.    mssql_bind($sp,"@user_name",$user_name,sqlvarchar,false,false,30); 
  15.    mssql_bind($sp,"@password",$password,sqlvarchar,false,false,30); 
  16.    mssql_bind($sp,"@info",$info,sqlvarchar,true,false,30); //为存储过程添加一个输出参数 
  17.    mssql_execute($sp); //执行该存储过程 
  18.  
  19.    echo $info//打印出从存储过程中返回的输出参数值

Tags: PHP调用Oracle server储存过程

分享到: