使用存储过程注册过程

时间:2017-12-08 13:48:02

标签: php stored-procedures mysqli procedure

我试图在我的php网站上安装此程序。我试着阅读很多主题,但是没有用。 PHP代码不起作用。 谢谢你的帮助!

这是我的存储过程:

    CREATE DEFINER=`dba233`@`%%` PROCEDURE `sp_IncluUser`(IN u_Name TEXT, IN u_Email TEXT, IN u_CodAcess TEXT, OUT Result boolean, Out Message TEXT, OUT QtCli int)
BEGIN
  Declare QtClient Int;
  Declare QtUser Int;
  Declare Erro        boolean default False;

  DECLARE exepction SMALLINT DEFAULT 0;
  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET excessao = 1;

  SET Result = True;

  SELECT COUNT(*) into QtdeCliente
    FROM Nuvem_Client
    WHERE  u_CodAcesso = Cod_Acesso;
  IF (QtdeClient = 0) THEN
     SET Result = False;
     SET Message = 'Acess code invalid.';
  END IF;

Set QtCli = 999;

  IF Result = True THEN
     SELECT COUNT(*) into QtdeUsuario
       FROM Nuvem_Users
       WHERE  Email = u_Email;
Set QtCli = QtdeUsuario;
     IF (QtdeUsuario > 0) THEN
        SET Result = False;
        SET Message = 'Email already registered';
     END IF;
  END IF;

  IF Result = True THEN
     IF (u_Nome = "" OR u_Email = "") THEN

        SET Result = False;
        SET Message = 'Invalid';
     END IF;
  END IF;

  IF Result = True THEN
     START TRANSACTION;

     INSERT INTO db_Users ( `Name`, `Name_user`, `Email`, `password`, `Cod_Tipo_User`, `DtInclusao`)
     VALUES                     ( u_Name,  u_Name,         u_Email,   '',     '6', Now());
     IF excessao = 1 THEN
        SET Result = False;
        SET Message = 'Error';
        ROLLBACK;
     ELSE
        SELECT DISTINCT LAST_INSERT_ID() INTO @idUsuario FROM Nuvem_Users;
        IF excessao = 1 THEN
           SET Result = False;
           SET Message = 'Error';
           ROLLBACK;
        ELSE
           Insert into Nuvem_Users_Unity (Cod_User, Cod_Unity) 
               (SELECT @idUsuar, Cod_Unidade FROM Nuvem_Unity_Client UniCli
                   inner join Nuvem_Client Cli on UniCli.Cod_business = Cli.Cod_Empresa
                   where Cli.Cod_Acess = u_CodAcess);
           IF excessao = 1 THEN
              SET Result = False;
              SET Message = 'error' ;
              ROLLBACK;
           ELSE
              SET Result = True;
              SET Message = 'successfull ';
              COMMIT;
           END IF;
        END IF;
     END IF;
  END IF;

  END

表和其他东西的名称有很多错误。这是因为我想为我保留信息,因为它来自客户。 我会改变一切,没问题......我只是想知道我需要运行这个程序的PHP代码。我不想知道答案,你可以给我一个提示,我会去搜索。

谢谢你们!我需要你的帮助。

0 个答案:

没有答案