[問題類型]:
經驗諮詢(我想用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