我正在尝试创建一个忘记密码系统,因此我正在使用该NEWID()功能创建一个随机代码以发送到用户的电子邮件。我正在使用准备好的语句来防止 SQL 注入,但这仍然不起作用:
$sql = mysqli_prepare($conn, "INSERT INTO verifyEmail (username, code) VALUES (?, NEWID())");
mysqli_stmt_bind_param($sql, "s", $user);
mysqli_stmt_execute($sql);
我在第二行收到警告,第一个参数不能是布尔值。(因此,SQL 代码中存在语法错误)。我知道NEWID()函数是问题所在,因为删除它可以修复警告。在准备好的语句中不起作用NEWID()?如果是这样,我应该怎么做呢?此外,我还需要运行一条SELECT语句来获取NEWID()函数返回的值。我这样做是不是错了?
侃侃无极