导航:首页 > 编程语言 > php执行mysql存储过程

php执行mysql存储过程

发布时间:2023-03-14 14:33:27

php如何调用MYSQL的存储过程

php相当于执行mysql的终端,即模拟mysql的客户端,所以符号sql标准的语句都是可以执行的。
存储是由数据库本身建立起来的,与php没有关系,
具体查看mysql的命令
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body

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

  1. 首先,需要知道怎么写mysql存储过程,了解mysq存储过程语言,

  2. 其次,使用mysql工具创建存储过程。

  3. 最后,通过mysql_query()函数执行mysql变量的设置和mysql存储过程及返回值。

  1. mysql存储过程代码

createprocerepro_name(user_idint)
begin
.........
end

2. PHP代码

$host="localhost";
$user="root";
$password="232412";
$db="user_db";
$dblink=mysql_connect($host,$user,$password)ordie("can'tconnecttomysql");
mysql_select_db($db,$dblink)ordie("can'tselectuser_db");
$user_id=1;
$res=mysql_query("set@a=$user_id",$dblink);
$res=mysql_query("callpro_name(@a)",$dblink);

③ php调用返回多结果的mysql存储过程

直接处理存储过程的输出参数即可。
调用存储过程的方法。
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 procere()语句。
也就是mysql_query("call proceer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。 直接执行 select function() 就可以了。

传出参数的存储过程:
$sql = "
create procere myproce3(out score int)
begin
set score=100;
end; ";
mysql_query($sql);//创建一个myproce3的存储过程
$sql = "call test.myproce3(@score);";
mysql_query($sql);//调用myproce3的存储过程
$result = mysql_query('select @score;');
$array = mysql_fetch_array($result);
echo '<pre>';print_r($array);

④ 在PHP中怎么调用mysql存储过程用到哪些函数

<?php
//建立数据库连接
$link = mysqli_connect('localhost','root','root','mydb');
$sql = "call getEmail('00056')";
//设置字符集
mysqli_query($link,"set names gbk");
$result = mysqli_query($link,$sql);

$row = mysqli_fetch_array($result);
echo "邮件地址:".$row['email'];
?>

这里有两篇教程说得非常详细:
《MySQL 5 存储过程》:http://www.sunchis.com/html/php/mysql/2010/0305/42.html
《PHP调用存储过程》:http://www.sunchis.com/html/php/mysql/2010/0305/43.html

⑤ PHP下如何创建MYSQL存储过程

直接上代码:
mysql_connect("localhost","user","pwd");
mysql_select_db('testdata')ordie(mysql_error());
$sql="createproceretb_neaten(inrecint,inpavarchar(15),inqydecimal(10,2),inarvarchar(6))
begin
updatetest1setqty=qty-qywhererecordnum=rec;
insertintotest2setbname=pa,area=ar,qty=qy,date=date_format(now(),'%Y%m%d'),time=date_format(now(),'%Y%m%d');
end;";
mysql_query($sql)ordie(mysql_error());
若是存储过程里含有捕获select结果的语句时,需在mysql_connect时调整参数
mysql_connect("localhost","user","password",1,131072)
执行时,直接运行
mysql_query(tb_neaten(va1,va2,va3,va4));

⑥ php调用mysql存储过程,如何实现。 我的代码如下:

mysql存储过程返回2个资源,第一个是执行信息,第二个是存储过程返回结果。

mysql_*系列函数无法获取超过1个资源,需使用mysqli或PDO代替。


PDO:

$stmt=$db->prepare("CALLpro_rb_save(?,?,@return_msg);");
$stmt->bindParam(1,$a);
$stmt->bindParam(2,$b);
$stmt->execute();
$outputArray=$db->query("select@return_msg")->fetch(PDO::FETCH_ASSOC);

var_export($return_msg);
阅读全文

与php执行mysql存储过程相关的资料

热点内容
性用社app怎么样转成什么了 浏览:523
app平板怎么用 浏览:645
android条形码zbar 浏览:382
深入dos编程书值得看嘛 浏览:252
薯仔app下载了怎么注册 浏览:843
云服务器一般租多大 浏览:469
屏幕录制app怎么样 浏览:686
义乌市联DNS服务器地址 浏览:669
App二级页面怎么做 浏览:956
提高pdf清晰度 浏览:979
服务器网卡mac地址怎么查 浏览:114
裁决之地服务器为什么这么卡 浏览:597
民生app怎么查保险 浏览:467
单片机蓝牙驱动代码 浏览:467
php实现多选后公开 浏览:645
map中的值为数组的怎么编程 浏览:261
加密货币怎么登录 浏览:1002
如何看本机服务器实例名 浏览:388
变频器加密密码 浏览:796
美国银行加密市场 浏览:384