DROP PROCEDURE IF EXISTS `proc_test`;CREATE DEFINER = `root`@`%` PROCEDURE `proc_test`(
  `h_serial` char(7),
  OUT `result` tinyint(1))
BEGIN SET `result` = 1;
END;
上面是我的存储过程
我传入:'1','1'提示错的
'1'提示也是错的
应该怎么传?

解决方案 »

  1.   

    mysql> DROP PROCEDURE IF EXISTS `proc_test`;
    Query OK, 0 rows affected, 1 warning (0.00 sec)mysql>
    mysql> delimiter //
    mysql> CREATE PROCEDURE `proc_test`(
        ->   `h_serial` char(7),
        ->   OUT `result` tinyint(1))
        -> BEGIN
        ->  SET `result` = 1;
        -> END;
        -> //
    Query OK, 0 rows affected (0.08 sec)mysql> delimiter ;
    mysql>
    mysql> call proc_test(1,@x);
    Query OK, 0 rows affected (0.03 sec)mysql> select @x;
    +------+
    | @x   |
    +------+
    |    1 |
    +------+
    1 row in set (0.00 sec)mysql>
      

  2.   

    DELIMITER $$CREATE PROCEDURE `test`.`dd`(`h_serial` CHAR(7),
      OUT `result` TINYINT(1))
        /*LANGUAGE SQL
        
        BEGIN
    SET `result`=1;
        END$$DELIMITER ;CALL dd(1,@ee);
    SELECT @ee;
      

  3.   

    mysql> delimiter //
    mysql> create procedure pro_test(
        -> h_serial char(7),
        -> out result tinyint(1))
        -> begin
        -> set result=1;
        -> end;
        -> //
    Query OK, 0 rows affected (0.02 sec)mysql> call pro_test('1',@x)//
    Query OK, 0 rows affected (0.00 sec)mysql> select @x//
    +------+
    | @x   |
    +------+
    | 1    |
    +------+
    1 row in set (0.00 sec)
      

  4.   

    php: mysql_query("call pro_test('1',@x)");
         mysql_query("select @x");