存储在MySQL数据库中保存为变量的字符串?

时间:2013-08-06 22:52:24

标签: mysql ruby twilio

在一个向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,比如 CA9321a83241035b4c3d3e7a4f7aa6​​970d ,当我执行{{1}时,我确实在数据库中看到' incoming_Cid ' }。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

您需要使用字符串插值:"VALUES (#{@incoming_Cid})"