过去几天我一直在使用 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,那么如何将数据插入到数据库中。这里缺少什么点?
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" []
如果有人能帮助我解决这个问题,我真的很感激。
最佳答案
Application 是 MonadIO 的一个实例,因此您可以从 echo 中调用 sqlExe,如下所示:
结果<- liftIO sqlExe
关于mysql - Snap Web 应用程序与 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785592/