Heim >php教程 >php手册 >PHP调用Oracle,mysql,mssql server 储存过程方法

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

WBOY
WBOYOriginal
2016-06-13 10:08:351036Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn