Connect to a database
Posted: Wed Oct 18, 2017 4:20 am
it is possible to connect to a database like MySql
as used in vb via Recordset !Field
as used in vb via Recordset !Field
For this you need a serverside component like CGI, PHP, ASP, ... and than you can connect it with HTTPRequest().berdeja wrote:it is possible to connect to a database like MySql as used in vb via Recordset !Field
Code: Select all
UseMySQLDatabase(GetCurrentDirectory()+"libmariadb.dll")
If Not InitCGI() Or Not ReadCGI()
End
EndIf
user$=CGIParameterValue("username")
sql=OpenDatabase(#PB_Any,"host=localhost port=3306 dbname=mydatabase","myusername","mypassword",#PB_Database_MySQL)
If sql
If DatabaseQuery(sql,"select email from myusers where username='"+user$+"';")
If NextDatabaseRow(sql)
result$=GetDatabaseString(sql,0)
EndIf
EndIf
CloseDatabase(sql)
Else
result$=DatabaseError()
EndIf
WriteCGIHeader("Access-Control-Allow-Origin", "*") ;<----------- Remove for Final Release !!!!!!
WriteCGIHeader(#PB_CGI_HeaderContentType,"text/html",#PB_CGI_LastHeader)
WriteCGIString(user$+" : "+result$)
Code: Select all
#Window_Main=1
Enumeration 1
#Gadget_Main_Text
#Gadget_Main_User
#Gadget_Main_Search
EndEnumeration
Procedure.i Window_Main()
If OpenWindow(#Window_Main,0,0,200,150,"Email Search",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
TextGadget(#Gadget_Main_Text,25,20,150,20,"Enter User Name:")
StringGadget(#Gadget_Main_User,25,45,150,20,"")
ButtonGadget(#Gadget_Main_Search,115,85,60,20,"Search")
HideWindow(#Window_Main,#False)
ProcedureReturn WindowID(#Window_Main)
EndIf
EndProcedure
Global url.s="https:/mydomain.com/cgi-bin/sqlcgi.exe"
Procedure HttpGetEvent(Success, Result$, UserData)
If Success
MessageRequester("Results: "+result$)
Else
Debug "Error: No Connection"
EndIf
EndProcedure
;- GadgetEvent Loop
Procedure GadgetEvent()
GadgetID=EventGadget()
Select GadgetID
Case #Gadget_Main_Search
HTTPRequest(#PB_HTTP_Post, url, "username="+GetGadgetText(#Gadget_Main_User), @HttpGetEvent())
EndSelect
EndProcedure
;- Main Loop
If Window_Main()
BindEvent(#PB_Event_Gadget,@GadgetEvent())
EndIf
Code: Select all
UseMySQLDatabase()
If Not InitCGI() Or Not ReadCGI()
End
EndIf
user$=CGIParameterValue("username")
sql=OpenDatabase(#PB_Any,"host=xxx port=3306 dbname=xxxx","xxx",xx",#PB_Database_MySQL)
If sql
If DatabaseQuery(sql,"select user from login_user where nom='"+user$+"';")
If NextDatabaseRow(sql)
resultat$=GetDatabaseString(sql,0)
Else
resultat$=""
EndIf
EndIf
CloseDatabase(sql)
Else
resultat$=DatabaseError()
EndIf
WriteCGIHeader("Access-Control-Allow-Origin", "*") ;<----------- Remove for Final Release !!!!!!
WriteCGIHeader(#PB_CGI_HeaderContentType,"text/html",#PB_CGI_LastHeader)
WriteCGIString(user$+"="+resultat$)
return the value of user$ but no the value of resultat$WriteCGIString(user$+"="+resultat$)