【问题标题】:Snap web application connect with MySQLSnap Web 应用程序与 MySQL 连接
【发布时间】:2011-04-26 03:30:12
【问题描述】:

过去几天我一直在使用 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" []

如果有人能帮助我摆脱这个问题,我真的很感激。

【问题讨论】:

    标签: mysql haskell haskell-snap-framework


    【解决方案1】:

    Application 是 MonadIO 的一个实例,因此您可以像这样在 echo 中调用 sqlExe:

    结果

    【讨论】:

      猜你喜欢
      • 2014-09-30
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多