作者vargnatt (beavbutt)
看板R_Language
标题[问题] 如何透过shiny页面把资料写进mysql?
时间Wed Jun 22 17:28:00 2016
[问题类型]:
经验谘询(我想用R 连接某些资料库,请问大家的经验)
[软体熟悉度]:
请把以下不需要的部份删除
新手
[问题叙述]:
请简略描述你所要做的事情,或是这个程式的目的
利用shiny做一个注册帐号的页面
[程式范例]:
=ui.R=
library(shiny)
shinyUI(fluidPage(titlePanel("注册帐号 Sign Up"),
fluidRow(
column(3,
wellPanel(
textInput("email", "请输入E-Mail"),
passwordInput("paswd", "请输入密码"),
textInput("nickname", "请输入一个昵称"),
actionButton("signup","注册")
))
)
)
)
=server.R=
library(RMySQL)
library(shiny)
#connect to database
writeDB <- function(input_) {
memberDB = dbConnect(
MySQL(),
dbname = "MEMBERS",
username = "",
password = "",
host = "xx.xx.xx.xx",
port =3306
)
query = sprintf(
"INSERT INTO Members_Info(EMail,Password,Name) values(%s,%s,%s)",
input$email,input$paswd,input$nickname)
dbSendQuery(memberDB,query)
dbDisconnect(memberDB)
}
shinyServer(function(input, output, session){
observe({
if(input$signup==1){
isolate({
writeDB(input_)})
}
})
})
执行出来的结果是说我在sprintf那边有问题:
Warning: Error in sprintf: object 'input' not found
请问我应该要用什麽方式把值传到server.R然後写进Mysql?
或者是不应该用sprintf?
另外能否请版上高手提供相关问题讨论的地方或是范例?谢谢!
我找过一些资料,但是不多(可能是自己不太会找),
这个code我是参考stack overflow上的讨论写的。
[环境叙述]:
[关键字]:
R shiny mysql
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.29.134
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1466587682.A.795.html
1F:→ Wush978: query那段应该要放到shinyServer底下巴 06/22 23:02
2F:→ Wush978: 错误讯息的提是很清楚: 找不到input 06/22 23:02