0

在将信息发送到 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)")#插入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 calls"行,如果我将incoming_Cid变量放在VALUES()中而不是看到 34 个字符的字符串,例如CA9321a83241035b4c3d3e7a4f7aa6​​970d,我确实看到当我在数据库中出现' incoming_Cid '执行select * in calls.

我该如何解决这个问题?

4

1 回答 1

1

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

于 2013-08-06T23:00:31.230 回答