在Erlang中处理用户输入并将其添加到数据库涉及几个基本概念和技术步骤。以下是详细的解答:
以下是一个简单的示例,展示如何从Erlang命令行获取用户输入并将其插入到一个SQLite数据库中。
首先,确保你已经安装了erlang-sqlite3
库。你可以使用rebar3
来管理依赖:
{deps, [
{sqlite3, "4.5.2"}
]}.
-module(user_input_db).
-export([start/0, get_input/0, insert_data/1]).
start() ->
% 启动数据库连接
sqlite3:open("user_data.db", [{journal_mode, wal}]),
% 创建表(如果不存在)
sqlite3:exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)"),
get_input().
get_input() ->
% 获取用户输入
io:format("Enter user name: "),
Name = io:get_line(""),
% 去除换行符
NameTrimmed = string:strip(Name, both, $\n),
% 插入数据
insert_data(NameTrimmed).
insert_data(Name) ->
% 插入数据到数据库
Query = "INSERT INTO users (name) VALUES (?1)",
sqlite3:exec(Query, [Name]),
io:format("User '~s' added to database.\n", [Name]),
% 可以选择继续获取输入或退出
get_input().
?1
)来防止SQL注入攻击。通过上述步骤和示例代码,你可以实现从Erlang获取用户输入并将其存储到数据库的功能。这种方法不仅简单高效,而且充分利用了Erlang的并发和容错特性。
领取专属 10元无门槛券
手把手带您无忧上云