mysql - Snap Web 应用程序与 MySQL 连接

标签 mysql haskell haskell-snap-framework

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

相关文章:

mysql - 标签数据库关系数据的优势

mysql - 在 mariadb 中,replace 只触发一个触发器

mysql - 使用netbeans在microsoft access中创建数据库和在mysql中创建数据库之间的区别

scala - Haskell 如何区分不同的可能类型类实例

haskell - Snaplet 到 SnapletLens(snaplet 初始化)

使用 JSONParser 的 java.lang.NullpointerException

haskell - 如何使用 Haskell 中的时间库创建 UTCTime 值?

Haskell GHC : what is the time complexity of a pattern match with N constructors?

haskell - 如何在方尖碑中正确地进行嵌套路由?

haskell - 如何使用 Snap Framework 维护服务器端状态?