在一个向TWILIO API发送信息的ruby脚本中,我有一串字符,这些字符是他们(Twilio的)API输出的。然后我让控制台输出它,这样我就可以将它保存为变量并在以后重复使用它:
@client = Twilio::REST:Client.new account_sid, auth_token
call = @client.account.calls.create({:from => 'incoming', :to => 'outgoing', :url => 'url', :method => 'GET'})
puts call.sid
这部分功能正常,但是现在当我重命名变量(// @ incoming_Cid = call.sid //)并将其输入MySQL数据库时,我遇到了一个问题。 (34个字符ID包含数字和字母,因此我将数据类型定义为VARCHAR)。
begin
dbh = DBI.connect("DBI:Mysql:db_name:localhost", "user", "pass")
dbh.do ("INSERT INTO calls (column_name)"
#//选择要插入的列
"VALUES (incoming_Cid)")
#Insert 34个字符串。
dbh.commit
puts "Customer SID has been recorded"
rescue
puts "A database occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure
dbh.disconnect if dbh
end
就在 dbh.do(“INSERT INTO调用”行,如果我将 incoming_Cid 变量放在 VALUES()中 而不是看到34-char-string,比如 CA9321a83241035b4c3d3e7a4f7aa6970d ,当我执行{{1}时,我确实在数据库中看到' incoming_Cid ' }。
如何解决此问题?
答案 0 :(得分:1)
您需要使用字符串插值:"VALUES (#{@incoming_Cid})"