Я пытаюсь установить эту процедуру на моем сайте 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 мне нужно поставить для запуска этой процедуры. Я не хочу знать только ответ, вы можете просто дать мне совет, и я пойду искать.
Спасибо вам, ребята! Мне нужна ваша помощь.
Я пытаюсь установить эту процедуру на моем сайте 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 мне нужно поставить для запуска этой процедуры. Я не хочу знать только ответ, вы можете просто дать мне совет, и я пойду искать.
Спасибо вам, ребята! Мне нужна ваша помощь.