有关php和mysql存储过程

heiyilvzhe 2010-08-05 03:37:43
PHP与MySQL存储过程 实例一:无参的存储过程

$conn = MySQL_connect('localhost','root','root') or die ("数据连接错误!!!");
MySQL_select_db('test',$conn);
$sql = " create procedure myproce() begin
INSERT INTO user (id, username, sex)
VALUES (NULL, 's', '0'); end; ";
MySQL_query($sql);

创建一个myproce的存储过程

$sql = "call test.myproce();";

MySQL_query($sql);

调用myproce的存储过程,则数据库中将增加一条新记录



参照这个例子,在php中写了类似的代码,但是,结果是,没有任何的insert行为发生,为什么呢?
也没有任何的报错。
insert语句没有错,数据库存在,表存在,晕晕了~
是忘记做什么了咩???
...全文
70 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
heiyilvzhe 2010-08-05
  • 打赏
  • 举报
回复
啊,知道哪里错了。自己不仔细,谢谢楼上的大大~~结贴~
xuzuning 2010-08-05
  • 打赏
  • 举报
回复
你执行
SELECT specific_name, body FROM mysql.proc

看一下你的存储过程是否真的存在
heiyilvzhe 2010-08-05
  • 打赏
  • 举报
回复
php 5.3.2
mysql 5.1.47-community

呃,按理来说应该没有问题哇。。
谢谢楼上,偶再仔细对下哪里出问题了~
xuzuning 2010-08-05
  • 打赏
  • 举报
回复
是我有点想当然了
很久没有接触 mysql 了,对 mysql 的存储过程也不甚了解

刚才测试了一下楼主的代码,结果是:
一切正常,数据如愿插入

我使用的是:
php 5.2.6
mysql 5.1.47-community


heiyilvzhe 2010-08-05
  • 打赏
  • 举报
回复
CunningBoy的意思是否是说在PHP中无法像例子那样创建存储过程呢?
CunningBoy 2010-08-05
  • 打赏
  • 举报
回复
在数据库中先创建储存过程。
heiyilvzhe 2010-08-05
  • 打赏
  • 举报
回复
$sql = " create procedure myproce() begin
INSERT INTO user (id, username, sex)
VALUES (NULL, 's', '0'); end; ";

那这句应该怎么写呢?? 基本上创建存储过程的语句都是有一个以上的分号的咯~
xuzuning 2010-08-05
  • 打赏
  • 举报
回复
mysql_query 一次只能执行一句 sql 指令
而你的 $sql 是两句
heiyilvzhe 2010-08-05
  • 打赏
  • 举报
回复
这个是复制的例子,语句里面都是用的小写的咯,应该没有语法错误,也没有任何的报错。
CunningBoy 2010-08-05
  • 打赏
  • 举报
回复
请使用
mysql_connect
mysql_select_db
mysql_query

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧