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]...)");php调用mysql数据库
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];
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论