I'm having some with registerusers stored procedure with error message and when I executed the result I got an error that says:' MySQL said: Documentation
declare checkfirstnamecount int; declare checklastn' at line 10'
Here's my stored procedure:
DELIMITER go
Create procedure registerusers( Out UserID tinyint(11), IN iFirstName varchar(30), IN iLastName varchar(30), IN iPassword varchar(30), IN iEmailAddress varchar(30), IN iSalt varchar(40), IN iRoleID varchar(1))
BEGIN
--declaring local variable
declare checkfirstnamecount int;
declare checklastnamecount int;
declare checkpasswordcount int;
delcare checksaltcount int;
declare checkroleidcount int;
declare checkemailcount int;
declare checkexistingemailaddress varchar(30);
--checking the email address for one count
select count(emailaddress) into checkemailcount
from users
where emailaddress = iEmailaddress;
--checking the password for one count
select count(Password) into checkpasswordcount
from users
where Password = iPassword;
--checking the email address for one count
select count(FirstName) into checkfirstnamecount
from users
where FirstName = iFirstName;
--checking the last name for one count
select count(LastName) into checklastnamecount
from users
where LastName = iLastName;
--checking the salt for one count
select count(salt) into checksaltcount
from users
where salt = iSalt;
--checking the roleid for one count
select count(RoleID) into checkroleidcount
from users
where RoleID = iRoleID;
--checking the email address for one count for if it exists
select emailaddress into checkexistingemailaddress
from users
where emailaddress = iEmailaddress;
--checking for firstname if the user forgot to fill out the first name
If(checkfirstnamecount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Fill out the First Name ';
--checking for Lastname if the user forgot to fill out the last name
Elseif(checklastnamecount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Fill out the Last Name';
--check if the password is not fill out
Elseif(checkpasswordcount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Fill out the password';
--check is the salt is not fill out
Elseif(checksaltcount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Salt is not found';
--check if the roleid is not fill out
Elseif(checkroleidcount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'RoleID is not found';
Elseif(checkemailcount!=1) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Fill out the email address';
--checking if the emailaddress already exists in the table
Elseif(iEmailaddress=checkexistingemailaddress ) then
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Email Address already exists';
Else
insert into users(
FirstName, LastName , Password , EmailAddress , Salt , RoleID )
Values
(
FirstName, LastName , Password , EmailAddress , Salt , RoleID
);
set UserID = last_insert_id(); end if;
End
go
DELIMITER ;