本文目录一览:
- 1、php调用mysql存储过程,如何实现。 我的代码如下:
- 2、PHP 如何动态执行创建存储过程的脚本
- 3、php调用mysql存储过程(急,在线等)
- 4、php mysql怎么创建可以定时执行任务的过程语句存储过程定时执行sql
- 5、PHP下如何创建MYSQL存储过程
php调用mysql存储过程,如何实现。 我的代码如下:
mysql存储过程返回2个资源,第一个是执行信息,第二个是存储过程返回结果。
mysql_*系列函数无法获取超过1个资源,需使用mysqli或PDO代替。
PDO:
$stmt = $db-prepare("CALL pro_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 如何动态执行创建存储过程的脚本
delimiter //
CREATE PROCEDURE `sp_user` (IN `lastts` timestamp)
BEGIN
CREATE TABLE IF NOT EXISTS `tmp_user`
(
........
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/* 删除动态变化的用户资料 */
IF lastts = '1970-01-01' THEN truncate table tmp_user;
ELSE delete from tmp_user where lasttime = lastts;
END IF;
/* 初始化用户 */
insert into tmp_user (...........)
select * from (
select distinct * from `tb_order` where date(pay_time) = lastts group by buyer_nick
) as t;
END
//
delimiter;
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 = 'trtda 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);
?
php mysql怎么创建可以定时执行任务的过程语句存储过程定时执行sql
服务器的话可以使用计划任务。
如果是虚拟主机只能使用死循环+判定条件了。
PHP下如何创建MYSQL存储过程
直接上代码:
mysql_connect("localhost","user","pwd");
mysql_select_db('testdata') or die (mysql_error());
$sql = "create procedure tb_neaten (in rec int,in pa varchar(15),in qy decimal(10,2),in ar varchar(6))
begin
update test1 set qty=qty-qy where recordnum=rec;
insert into test2 set bname=pa,area=ar,qty=qy,date=date_format(now(),'%Y%m%d'),time=date_format(now(),'%Y%m%d');
end;";
mysql_query($sql) or die (mysql_error());
若是存储过程里含有捕获select结果的语句时,需在mysql_connect时调整参数
mysql_connect("localhost","user","password",1,131072)
执行时,直接运行
mysql_query(tb_neaten(va1,va2,va3,va4));