当前位置:首页 » 存储配置 » phpmysql调用存储过程

phpmysql调用存储过程

发布时间: 2023-03-10 13:15:13

php如何调用MYsql存储过程

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

⑵ 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);

⑶ mysql 存储过程怎么调用

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 procere()语句。

也就是mysql_query("call proceer([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存储过程用到哪些函数

<?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存储过程返回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);

⑹ 怎么写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 存储过程 exec,烦死了

1。执行callprocere()语句。
也就是mysql_query("callproceer([var1]...)");
2.如果有返回值,执行select@ar,返回执行结果。
mysql_query("select@var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。直接执行selectfunction()就可以了。

$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
ordie("can'tconnecttomysql");
mysql_select_db($db,$dblink)
ordie("can'tselectsamp_db");
$res=mysql_query("set@a=$password",$dblink);
$res=mysql_query("callaa(@a)",$dblink);
$res=mysql_query("select@a",$dblink);
$row=mysql_fetch_row($res);
echo$row[0];

⑻ php 调用mysql存储过程

<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
configure:3427: gcc --version >&5
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

⑼ php调用mysql存储过程(急,在线等)

关键就是两点

1)define('CLIENT_MULTI_RESULTS', 131072);

2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());

下面就可以正常使用了,以下是例子程序。

<?php
define('CLIENT_MULTI_RESULTS', 131072);

$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
mysql_select_db("vs") or die("Could not select database");
?>

<?php
$result = mysql_query("call get_news_from_class_id(2)") or die("Query failed:" .mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$line = '<tr><td><a target = _blank href=\''.$row["url"].'\'>'.$row["title"].'('.$row["page_time"].')'.'</a></td></t
r>';
echo $line;
printf("\n");

}
mysql_free_result($result);
?>

<?php
mysql_close($link);
?>

⑽ thinkphp调用mysql存储过程 ,求助,具体点好吗,格式猜不出来…

thinkPHP的调用
$model = M("");
$data = $model -> query("CALL abcas(1,'[email protected]')");//调用存储过程
mp($data);//输出存储过程的返回值

存储过程部分
BEGIN -- 存储过程开始
START TRANSACTION; -- 开始事务
#Routine body goes here...
SET @x = 1; -- 定义变量,通过这个变量判断知道到的地方,事务成功@x返回大于0,否则返回0
update lzh_members set user_email = em where id = tid;
if row_count() > 0 then -- 判断语句是否执行成功
update lzh_members set user_type = 0 where id = tid;
if row_count() > 0 then
update lzh_members set user_type = 2 where id = tid;
if row_count() > 0 then
SET @x = 5;
select @x;
commit; -- 事务提交
ELSE
SET @x = 0;
select @x;

rollback; -- 事务回滚
end if;
ELSE
SET @x = 0;
select @x;
rollback; -- 事务回滚
end if;
ELSE
SET @x = 0;
select @x;
rollback; -- 事务回滚

end IF;
END --存储过程结束

热点内容
王者荣耀如何设置自己账号密码 发布:2025-05-20 06:23:02 浏览:725
虞姬的脚本 发布:2025-05-20 06:23:00 浏览:119
java发送手机短信 发布:2025-05-20 06:21:56 浏览:706
python编程符号大全 发布:2025-05-20 06:20:37 浏览:550
大学压缩课 发布:2025-05-20 06:19:49 浏览:859
关于五的乘法运算文字脚本 发布:2025-05-20 06:11:22 浏览:684
androidhttp乱码 发布:2025-05-20 06:00:39 浏览:855
拉伸压缩 发布:2025-05-20 05:45:30 浏览:926
阿里云的服务器修建在哪里 发布:2025-05-20 05:44:49 浏览:770
网盘存储文件 发布:2025-05-20 05:32:05 浏览:245