[问题类型]:
经验咨询(我想用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