过去几天我一直在和Haskell合作。我使用Haskell和Snap创建了一个小型Web应用程序。我添加了一个HTML表单来获取用户数据并使用Haskell配置了一个mysql数据库。我可以使用Haskell检索数据。我想知道如何将用户输入插入数据库。
echo :: Application ()
echo = do
firstName <- decodedParam "firstname"
heistLocal (bindSplices echoSplices) $ render "echo"
where
decodedParam p = fromMaybe "" <$> getParam p
以下是我在Web应用程序中建立数据库连接的方法。现在我想连接这两个函数,但是我不能在echo
中使用sqlExe,所以如何将数据插入到db中。这里缺少什么点?
sqlExe :: IO [[SqlValue]]
sqlExe =
do conn <- connectMySQL defaultMySQLConnectInfo {
mysqlHost = "localhost",
mysqlDatabase = "test",
mysqlUser = "root",
mysqlPassword = "password",
mysqlUnixSocket = "/var/lib/mysql/mysql.sock" }
quickQuery conn "select* from Test" []
如果有人能帮助我摆脱这个问题,我真的很感激。
答案 0 :(得分:5)
Application是MonadIO的一个实例,所以你可以在echo中调用sqlExe,如下所示:
结果&lt; - liftIO sqlExe