Code前端首页关于Code前端联系我们

php创建存储过程,php调用mysql存储过程

terry 2年前 (2023-09-30) 阅读数 35 #PHP
文章标签 PHP sort

本文目录一览:

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

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门