小编meg*_*ega的帖子

NEWID 函数导致 MYSQL 中准备好的语句出错

我正在尝试创建一个忘记密码系统,因此我使用该NEWID()功能创建一个随机代码以发送到用户的电子邮件。我正在使用准备好的语句来防止 SQL 注入,但这仍然不起作用:

$sql = mysqli_prepare($conn, "INSERT INTO verifyEmail (username, code) VALUES (?, NEWID())");
mysqli_stmt_bind_param($sql, "s", $user);
mysqli_stmt_execute($sql);
Run Code Online (Sandbox Code Playgroud)

我在第二行收到警告,第一个参数不能是布尔值。(因此,SQL 代码中存在语法错误)。我知道该NEWID()功能是问题所在,因为删除它可以修复警告。在准备好的语句中不起作用NEWID()?如果是这样,我应该如何去做呢?另外,我需要运行一个SELECT语句来获取函数返回的值NEWID()。我这一切都错了吗?

php mysql sql database sql-insert

1
推荐指数
1
解决办法
2113
查看次数

标签 统计

database ×1

mysql ×1

php ×1

sql ×1

sql-insert ×1