不知道如何关闭它,但我也不能再删除它...问题已解决
我有一个表单,用户输入电子邮件,CRO 尝试在帐户数据库中查询电子邮件以查找匹配项。问题是 Sqlite3 将 @ 符号视为运算符并给出错误。如果我将其声明为字符串,它会起作用,但我如何在 Routes.pm6 中做到这一点?这是我正在处理的代码块。
post -> 'reset' {
request-body -> (:$email) {
#Check to see if email exists in accounts
#If Exists then send email
#If not exists post email not found
$sth = $dbh.prepare(q:to/STATEMENT/);
select email from accounts WHERE email = (?)
STATEMENT
# $email = $email.Str
my $results = $sth.execute("$email");
if $results == 1 {
content 'text/html','Successful Email sent' ~ '<br><a href="/">Home</a>';
} else {
content 'text/html', "Email does not exist";
}
}
}
我尝试了各种方法,例如在请求正文中添加 Str 或在随机位置添加 .Str 。我也尝试过添加引号。这是html文件:
<DOCTYPE html>
<html lang="en">
<head>
<title>Reset Password</title>
</head>
<body>
<form action="/reset" method="post">
Email:<br>
<input type="text" name="email">
<br>
<input type="submit" value="Submit">
</form>
<br>
<a href="register.html">Create an Account</a>
<a href="signin.html">Sign In</a>
<br>
<a href="/">Home</a>
</body>
</html>
我想说的是:如何确保用户输入的内容是字符串,然后在 sqlite3 中作为字符串进行查询?