下载帝国网站管理系统5.0正式版
 帝国论坛技术交流区网络编程php调用mysql存储过程和函数的方法
帝国备份王2008版发布
帝国CMS模板下载中心
测试:生成20万数据共用107分钟
《帝国下载系统》全面免费
帝国域名交易网
1G双线帝国空间+200M数据库=158
站长工具 - dotool.cn
广告联系QQ:627174919
主题:php调用mysql存储过程和函数的方法 [加入收藏夹]   

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47766
经验值   :108904
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 1 楼]
php调用mysql存储过程和函数的方法
存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。

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

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

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

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

        变量。

      b。如果存储过程有OUT变量,声明一个Mysql变量。

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

        入set @mysqlvar=$phpvar ;

      c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。

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

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

      d。 如果时存储过程。

          1。执行 call procedure()语句。

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

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

             mysql_query("select @var)"

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

          如果时函数。 直接执行 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);
    $res=mysql_query("call aa(@a)",$dblink);
    $res=mysql_query("select @a",$dblink);
    $row=mysql_fetch_row($res);
    echo $row[0];




[零基础入门教程] [模板制作教程] [采集使用教程]
2006-07-10 14:29:33 已设置保密 顶部 回复 引用 报告 编辑 删除


快速回复
内容

使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
表情                   
                
    (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1