带有Slang :: SQL的Perl6 API

Mud*_*ada 5 perl6 bailador

我喜欢尝试使用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,但它以相同的结果结束.有人能帮我吗 :) ?

Mat*_*tes 6

你应该使用占位符是主要原因.俚语不会引用那种类型,即使它确实会在代码中引入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