本文目录一览:
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);
thinkphp调用mysql存储过程 ,求助,具体点好吗,格式猜不出来…
thinkPHP的调用
$model = M("");
$data = $model - query("CALL abcas(1,'gfffffggg@qq.com')");//调用存储过程
dump($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 --存储过程结束
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);
?