Я пишу сценарий, который экспортирует результаты в базу данных SQLite. Я не могу заставить код работать, когда я использую переменные.Вставка базы данных SQLite3 с использованием переменных
Вот отрывок:
require 'sqlite3'
require 'shodan'
table_name = "#{Date.today.strftime("%B")}#{Time.now.year}_Findings"
db = SQLite3::Database.new "shodan_test.db"
db.execute ("CREATE TABLE #{table_name} (ip string , ports string)")
results = api.host(target)
ip = results["ip_str"].to_s
ports = results["ports"].to_s
db.execute ("insert into #{table_name} (ip, ports) values (#{ip}, #{ports})")
код не в последней строке. Я могу удалить переменные и код работает. Я немного смущен, так как CREATE TABLE работает с переменной.
Когда вы говорите: «Невозможно заставить код работать» и «Код не работает», мы ожидаем, что будет какое-то сообщение о состоянии или ошибке или, по крайней мере, более описательное утверждение о * why * it doesn Не работай. Трудно сказать, что проблема без них. Измените свой вопрос и добавьте эту информацию, как если бы вы ее первоначально включили. Это помогает нам помочь вам. –
Я бы рекомендовал прочитать о [Продолжение] (http://sequel.jeremyevans.net). Это намного лучше, чем непосредственно писать в SQLite API в качестве ORM, который Sequel представляет, абстрагирует ваш код, ориентированный на DBM, на более общий код, что значительно облегчает переход к альтернативным типам баз данных. –