0
我想添加到我的SQL数据库使用存储过程,此过程应添加unique_id,名称,密码和电子邮件地址。PHP/MySQL存储过程问题
我使用下面的代码:
//Enter the valid data into the database
$username = filter_input(INPUT_POST, 'Username', FILTER_SANITIZE_STRING);
$encrypted_password = filter_input(INPUT_POST, 'Password', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
$uuid = uniqid('', true);
$insertUser = mysqli_query($conn, "Call userInsert('$uuid', '$username','$encrypted_password', '$email')");
if(! $insertUser)
{
die('Error: ' . $conn->error);
}
else
{
echo "Success";
}
这是我的存储过程:
$insertIntoUsers = "
CREATE PROCEDURE userInsert(unique_id VARCHAR(23), name VARCHAR(50), encrypted_password VARCHAR(80), email VARCHAR(50))
BEGIN
INSERT INTO users(unique_id, name, encrypted_password,email) values(unique_id, name,encrypted_password,email);
END";
我希望它取四场,但我得到以下错误,当我尝试登录up
Error: Incorrect number of arguments for PROCEDURE users.userInsert; expected 3, got 4
任何人都知道是什么造成这种情况?说它只需要三个参数,但我指定了四个参数?