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

原创 2005年04月28日 11:30:00

存储过程和函数是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];

mysql存储过程详解以及PHP调用MYSQL存储过程实例

mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)...

怎么写mysql存储过程,并用php调用它?

http://zhidao.baidu.com/link?url=DmmuiPFlAi1XzJdOyqxI980MeuV3iGUM9TdM7zQVkkjt9sMJF92zXKu7YvElrp8-aXH...

php调用MySQL存储过程方法集合

类型一:调用带输入、输出类型参数的方法$returnValue = ''; try { mysql_query ( "set @Return" ); $spname = 'P__Test_GetI...

mysql 存储过程 模拟 php的explode 函数

set @rand_str = load_file('/tmp/gold.txt'); drop procedure if exists proce_range_partition_by_prima...

php在执行mysql存储过程后执行其他数据库操作问题解决方法

问题描述:php在执行mysql存储过程后执行其他数据库操作时,报错Commands out of sync; you can't run this command now 产生原因:1、存储过程产生...

MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法

Mysql 的 function 和 procedure 有啥区别呢 ? 网上搜索后说 function 有返回值, procedure 无返回值。 从function 的语法角度来说确实如此, fu...

MySQL 的存储过程 procedure 与 函数 function 的区别和使用方法

存储过程与函数的区别  本质上没区别,执行的本质都一样。   只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。     函数是可以嵌入在sql中使用的,可以在select中调用,而存...
  • xlxxcc
  • xlxxcc
  • 2016年09月09日 13:46
  • 7103

PHP数据库 mysql(三)事务、存储函数,存储过程,触发器、权限设置

子查询的效率比链接查询效率低, 举例:-------------- 数据控制语言DCL-------------------------...

PHP调用MYSQL存储过程实例

实例一:无参的存储过程 $conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!"); mysql_select_db('...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php调用mysql存储过程和函数的方法
举报原因:
原因补充:

(最多只允许输入30个字)