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语句没有错,数据库存在,表存在,晕晕了~
是忘记做什么了咩???

解决方案 »

  1.   

    请使用
    mysql_connect
    mysql_select_db
    mysql_query
      

  2.   

    mysql_query 一次只能执行一句 sql 指令
    而你的 $sql 是两句
      

  3.   

    $sql = " create procedure myproce() begin  
     INSERT INTO user (id, username, sex)  
    VALUES (NULL, 's', '0'); end; ";  那这句应该怎么写呢?? 基本上创建存储过程的语句都是有一个以上的分号的咯~  
      

  4.   

    CunningBoy的意思是否是说在PHP中无法像例子那样创建存储过程呢?
      

  5.   

    是我有点想当然了
    很久没有接触 mysql 了,对 mysql 的存储过程也不甚了解刚才测试了一下楼主的代码,结果是:
    一切正常,数据如愿插入我使用的是:
    php 5.2.6
    mysql 5.1.47-community
      

  6.   

    php 5.3.2
    mysql 5.1.47-community呃,按理来说应该没有问题哇。。
    谢谢楼上,偶再仔细对下哪里出问题了~
      

  7.   

    你执行
    SELECT specific_name, body FROM mysql.proc看一下你的存储过程是否真的存在