字符串插值问题
String interpolation issue
我正在尝试将记录从数据库保存到变量 "template_for_editing"
puts "select template id to edit"
template_id_to_edit = gets.chomp
template_for_editing = $db.execute %q{
SELECT * FROM templates WHERE id = #{template_id_to_edit}
}
puts template_for_editing
我收到错误代码:
/usr/lib/ruby/vendor_ruby/sqlite3/database.rb:91:in `initialize': unrecognized token: "#" (SQLite3::SQLException)
字符串插值不适用于 %q
,它适用于 "
:
template_for_editing = $db.execute "SELECT * FROM templates WHERE id = #{template_id_to_edit}"
顺便说一句,像这样将未经修改的用户输入传递给 SQL 查询是灾难的处方。我是用户,我输入:
1; DROP TABLE templates
然后我放下你的 templates
table。
我正在尝试将记录从数据库保存到变量 "template_for_editing"
puts "select template id to edit"
template_id_to_edit = gets.chomp
template_for_editing = $db.execute %q{
SELECT * FROM templates WHERE id = #{template_id_to_edit}
}
puts template_for_editing
我收到错误代码:
/usr/lib/ruby/vendor_ruby/sqlite3/database.rb:91:in `initialize': unrecognized token: "#" (SQLite3::SQLException)
字符串插值不适用于 %q
,它适用于 "
:
template_for_editing = $db.execute "SELECT * FROM templates WHERE id = #{template_id_to_edit}"
顺便说一句,像这样将未经修改的用户输入传递给 SQL 查询是灾难的处方。我是用户,我输入:
1; DROP TABLE templates
然后我放下你的 templates
table。