gpt4 book ai didi

PHP/MySQL 存储过程问题

转载 作者:行者123 更新时间:2023-11-29 22:39:36 25 4
gpt4 key购买 nike

我正在尝试使用存储过程添加到我的 SQL 数据库,此过程应添加 unique_id、名称、密码和电子邮件地址。

我正在使用以下代码:

    //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";

我希望它占用四个字段,但当我尝试注册时出现以下错误

Error: Incorrect number of arguments for PROCEDURE users.userInsert; expected 3, got 4

谁知道这是什么原因造成的?说它只需要三个参数,但我指定了四个?

最佳答案

成功排序

我之前存储了带有 3 个参数的相同过程,当我添加第四个参数时,它从未更新,所以我首先使用以下方法删除了该过程:

drop procedure users.userInsert;

再次运行程序,然后一切正常

关于PHP/MySQL 存储过程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com