Good day to all, i have a problem, i have made a login with mysql remote connection. when im trying to login i cant login. i dont know how to use the GUI.TextArea exactly. here is my code:
firstName = GUI.TextArea(new Rect(Screen.width/2-45,Screen.height/2-80,90,20),firstName);
Password = GUI.TextArea(new Rect(Screen.width/2-45,Screen.height/2-50,90,20),Password);
if(GUI.Button(new Rect(Screen.width/2-50,Screen.height/2+70,100,20),"Back to Menu"))
public void SelectDatabase(string username, string password)
connectionstring = @"Server=db4free.net; Port=3306; Database=gladia***; Uid=der****; Password=*********;";
conn = new MySqlConnection(connectionstring);
da = new MySqlDataAdapter();
ds = new DataSet();
da.SelectCommand = conn.CreateCommand();
da.SelectCommand.CommandText = "select * from users where username=@username and password=@password";
da.SelectCommand.CommandType = CommandType.Text;
da.SelectCommand.Parameters.Add("@username",MySqlDbType.Text,15,"username").Value = username;
da.SelectCommand.Parameters.Add("@password",MySqlDbType.Text,15,"password").Value = password;
if (ds.Tables["users"].Rows.Count == 1)
Debug.Log("Wrong username and Password");
catch (System.Exception ex)
if i change the @username to a correct username and @password to correct password im successfully login. what may be the possible reason why Debug.Log("Wrong username and Password"); always prompting? i think the problem is in firstName and Password variables but i dont know how to fix it. thank you in advance.
Answer by Bunny83
Mar 18, 2012 at 11:52 AM
I never used the Parameters collection. Usually i just build the sql command "manually" like this:
da.SelectCommand.CommandText = "select * from users where username='" + username + "' and password='" + password + "'";
Beside that, keep in mind that a TextArea allows newline characters. You might want to use a TextField instead.
That might fix your problem, but your database setup is not very safe!!!The C# code of your game can easily be viewed with a C# reflector, even from a web build. Never open a direct database connection from a user's PC. You usually use a server side script (like a PHP script) on a webserver to handle database interactions.
Thank you for that code. but still im searching for a way to use the parameter collection.
Well if you need / want to use it, you might better use the 3 parameter version instead of the 4 parameter version. I'm not quite sure to what "source column" is referring to, but since it's just a parameter replacement in your query there is no source column. You feed the data external. I guess you might need a source column for subqueries or something like that.
Also do you need the type MySqlDbType.Text? Usually you would use MySqlDbType.NVarChar.
SqlDbType wont work, that's why im using MySqlDbType. still not working. i found the problem but i dont know how to fix it. the problem is not the textarea(i already changed it to textfield) but the
da.SelectCommand.Parameters.Add("@username",MySqlDbType.Text,15,"username").Value = username; da.SelectCommand.Parameters.Add("@password",MySqlDbType.Text,15,"password").Value = password;
i dont know why this is wrong but this is my way of coding even when im creating a simple software the involves local and remote database
i found the solution, instead of using @ i replaced ?
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
For troubleshooting common problems with Unity 5.x Editor (including Win 10).
To help users post good questions and use the site effectively we have posted a user guide. Please check it out.
Answers and Comments
4 People are following this question.
Multiple Cars not working
Distribute terrain in zones
Problem in starting mysqld Process
MySql Online Character About
MySql compiler error help~ (OSX)