>  기사  >  백엔드 개발  >  php调用mysql存储过程和函数的方法_PHP教程

php调用mysql存储过程和函数的方法_PHP教程

WBOY
WBOY원래의
2016-07-13 17:32:18928검색

存储过程和函数是MySQL(和PHP搭配之最佳组合)5.0刚刚引入的。关于这方面的操作在php(做为现在的主流开发语言)里面没有直接的支持。但是由于MySQL(和PHP搭配之最佳组合) php(做为现在的主流开发语言) API的设计,使得我们可以在以前的php(做为现在的主流开发语言)版本中的MySQL(和PHP搭配之最佳组合) php(做为现在的主流开发语言) api中支持存储过程和函数的调用。

在php(做为现在的主流开发语言)中调用存储过程和函数。

    1。调用存储过程的方法。

      a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,

      一个php(做为现在的主流开发语言)变量(也可以不必,只是没有php(做为现在的主流开发语言)变量时,没有办法进行动态输入),一个MySQL(和PHP搭配之最佳组合)

        变量。

      b。如果存储过程有OUT变量,声明一个MySQL(和PHP搭配之最佳组合)变量。

        MySQL(和PHP搭配之最佳组合)变量的声明比较特殊,必须让MySQL(和PHP搭配之最佳组合)服务器知道此变量的存在,其实也就是执行一条MySQL(和PHP搭配之最佳组合)语句。

        入set @MySQL(和PHP搭配之最佳组合)var=$php(做为现在的主流开发语言)var ;

      c。使用MySQL(和PHP搭配之最佳组合)_query()/MySQL(和PHP搭配之最佳组合)_db_query()执行MySQL(和PHP搭配之最佳组合) 变量声明语句。

        MySQL(和PHP搭配之最佳组合)_query("set @MySQL(和PHP搭配之最佳组合)var【=$pbpvar】");

        这样,在MySQL(和PHP搭配之最佳组合)服务器里面就有一个变量,@MySQL(和PHP搭配之最佳组合)ar。如果时IN参数,那么其值可以有php(做为现在的主流开发语言)ar传入。

      d。 如果时存储过程。

          1。执行 call procedure()语句。

            也就是MySQL(和PHP搭配之最佳组合)_query("call proceduer([var1]...)");

          2. 如果有返回值,执行select  @ar,返回执行结果。

             MySQL(和PHP搭配之最佳组合)_query("select @var)"

             接下来的操作就和php(做为现在的主流开发语言)执行一般的MySQL(和PHP搭配之最佳组合)语句一样了。可以通过mydql_fetch_row()等函数获得结果。

          如果时函数。 直接执行 select function() 就可以了。

 
 $host="localhost";
    $user="root";
    $password="11212";
    $db="samp_db";
    $dblink=MySQL(和PHP搭配之最佳组合)_connect($host,$user,$password)
            or die("cant connect to MySQL(和PHP搭配之最佳组合)");
 MySQL(和PHP搭配之最佳组合)_select_db($db,$dblink)
      or die("cant select samp_db");
    $res=MySQL(和PHP搭配之最佳组合)_query("set @a=$password",$dblink);
    $res=MySQL(和PHP搭配之最佳组合)_query("call aa(@a)",$dblink);
    $res=MySQL(和PHP搭配之最佳组合)_query("select @a",$dblink);
    $row=MySQL(和PHP搭配之最佳组合)_fetch_row($res);
    echo $row[0];

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508711.htmlTechArticle存储过程和函数是MySQL (和PHP搭配之最佳组合) 5.0刚刚引入的。关于这方面的操作在php (做为现在的主流开发语言) 里面没有直接的支持。但是...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.