RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> PHP高级编程 >> 开发技巧 >> 文章内容
php调用mysql存储过程和函数的方法
[收藏此页[打印本页]   
来源:互联网  作者:未知  发布时间:2007-12-20

  存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
www.phperz.com

在php中调用存储过程和函数。

PHP程序员站--PHP程序员之家

    1。调用存储过程的方法。 PHP程序员站

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

PHP程序员站

      一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql

www.phperz.com

        变量。 PHP程序员站--PHP程序员之家

      b。如果存储过程有OUT变量,声明一个Mysql变量。 www~phperz~.com

        mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。 www phperz com

        set @mysqlvar=$phpvar ; www phperz com

      c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。 PHP程序员站--PHP程序员之家

        mysql_query("set @mysqlvar【=$pbpvar】"); www phperz com

        这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入。 www.phperz.com

      d。 如果时存储过程。 PHP程序员站--PHP程序员之家

          1。执行 call procedure()语句。

www phperz com

            也就是mysql_query("call proceduer([var1]...)"); phperz.com

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

PHP程序员站

             mysql_query("select @var)"

www phperz com

             接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。 www phperz com

          如果时函数。 直接执行 select function() 就可以了。
 
以下为引用的内容:
 $host="localhost";
    $user="root";
    $password="11212";
    $db="samp_db";
    $dblink=mysql_connect($host,$user,$password)
            or die("can't connect to mysql");
 mysql_select_db($db,$dblink)
      or die("can't select samp_db");
    $res=mysql_query("set @a=$password",$dblink); www phperz com
    $res=mysql_query("call aa(@a)",$dblink);
    $res=mysql_query("select @a",$dblink);
    $row=mysql_fetch_row($res);
    echo $row[0];

 上一篇:告诉你如何关闭GZIP,多种程序方法   下一篇:Windows XP下PHP+MySQL环境搭建
 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 mysql  基础  php基础  url
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长