Heim  >  Artikel  >  Backend-Entwicklung  >  php调用mysql存储过程和函数的方法_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 17:32:18928Durchsuche

存储过程和函数是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 (做为现在的主流开发语言) 里面没有直接的支持。但是...
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