我喜欢尝试使用Bailador,DBIish和Slang :: SQL在Perl6中执行API但是当我尝试使用时
sql select * from user where nom='"$name"'; do -> $row {
"$row".say;
}
Run Code Online (Sandbox Code Playgroud)
代替
sql select * from user where nom="try"; do -> $row {
"$row".say;
}
Run Code Online (Sandbox Code Playgroud)
它不告诉我任何事情:c(很明显$ name =="try")我在互联网上搜索一小时但没有回答.我已经尝试仅使用DBIish synthaxe,但它以相同的结果结束.有人能帮我吗 :) ?
你应该使用占位符是主要原因.俚语不会引用那种类型,即使它确实会在代码中引入SQL注入漏洞的入口点 - 除非你在变量中转义引号.
而是尝试:
sql select * from user where nom = ?; with ($name) do -> $row {
$row.say;
}
Run Code Online (Sandbox Code Playgroud)
祝你的应用好运.BTW有一个对你的进展感兴趣的subreddit https://www.reddit.com/r/perl6