用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5958|回复: 13
收起左侧

[讨论/交流] mysql中的存储过程

[复制链接]
发表于 2011-7-27 11:02:26 | 显示全部楼层 |阅读模式
ci中如何调用mysql中的存储过程
发表于 2011-7-27 12:36:33 | 显示全部楼层
->db->query("exec 存储过程名字");
 楼主| 发表于 2011-7-27 13:18:31 | 显示全部楼层
mysql手册上好像说是用call调用存储过程
发表于 2011-7-27 14:04:07 | 显示全部楼层
恩call,记差了,微软的是exec
 楼主| 发表于 2011-7-27 14:26:46 | 显示全部楼层
版主能不能帮我写个在phpmyadmin里创建存储过程的语句。我看了一些语句并写进phpmyadmin里都创建错误。麻烦下你啊 。我没写过不知道。
发表于 2011-7-27 15:32:10 | 显示全部楼层
例如:
PHP复制代码
 
create procedure hhy(in yumail varchar(20),out _s int,out _uid int)
begin
     if exists(select * from user where umail = yumail) then
        set _s = 1;
         select uid  into _uid from user where umail = yumail;
     else
        set _s = 0;
     end if;
end
 
复制代码

PHP中使用
PHP复制代码
 
$this -> db -> query(“call hhy('test@test.com',@_s,@_uid););
$this -> db -> query(“select @_s,@_uid;);
 
复制代码

 楼主| 发表于 2011-7-27 15:53:52 | 显示全部楼层
谢谢版主
 楼主| 发表于 2011-7-27 15:54:52 | 显示全部楼层
谢谢上面给 代码的朋友
发表于 2011-7-27 15:55:52 | 显示全部楼层
静夜思 发表于 2011-7-27 15:53
谢谢版主

俺不是版主
 楼主| 发表于 2011-7-27 16:14:47 | 显示全部楼层
为什么我在phpmyadmin里面
delimiter //
drop procedure if exists pro_gps;
create procedure pro_gps()
begin
   declare sum int;
   select c_number into sum from g_car where c_id = 1;
   select sum;
end //
delimiter ;
创建简单的存储过程都出错啊,朋友请看看。并且速度还很慢。

本版积分规则