今天就跟大家聊聊有关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]
 
看完上述内容,你们对php中如何调用mysql存储过程有进一步的了解吗?

dawei

【声明】:达州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。