Sqlite 确保电子邮件存储为字符串[Raku]
不知道如何关闭这个,但我也不能再删除它。。。 问题解决了 我有一个表单,用户输入一封电子邮件,CRO尝试在帐户数据库中查询电子邮件以找到匹配项。问题是Sqlite3将@符号视为运算符并给出错误。如果我将其声明为字符串,它就可以工作,但如何在Routes.pm6中实现这一点? 这是我正在编写的代码块Sqlite 确保电子邮件存储为字符串[Raku],sqlite,raku,cro,Sqlite,Raku,Cro,不知道如何关闭这个,但我也不能再删除它。。。 问题解决了 我有一个表单,用户输入一封电子邮件,CRO尝试在帐户数据库中查询电子邮件以找到匹配项。问题是Sqlite3将@符号视为运算符并给出错误。如果我将其声明为字符串,它就可以工作,但如何在Routes.pm6中实现这一点? 这是我正在编写的代码块 post -> 'reset' { request-body -> (:$email) { #Check to see if email exists in
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中作为字符串查询?我很笨。我投票结束了这个问题,因为我希望避免人们浪费时间去处理它,除非OP确认他们仍然想要答案;措辞非常模糊,你能确信你知道OP的意思吗?;该示例明确且明显地不接近于;这个问题似乎微不足道;看起来OP回答了他们的问题-他们忘记将.allrows添加到$sth,但他们没有澄清,也没有回答,也没有更新他们的问题以包括.allrows,OP从那以后就没有返回。