Unity3d C# select statement for GUI.TextArea

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:

 void OnGUI()
 GUI.Box(new Rect(Screen.width/2-60,Screen.height/2-105,120,210),"Score");
 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-45,Screen.height/2-20,90,20),"Continue"))

 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.

more ▼

asked Mar 18, 2012 at 11:40 AM

avatar image

21 16 12 17

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

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.

more ▼

answered Mar 18, 2012 at 11:52 AM

avatar image

88.2k 35 221 469

Thank you for that code. but still im searching for a way to use the parameter collection.

Mar 18, 2012 at 12:59 PM sephiroth111

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.

Mar 18, 2012 at 04:33 PM Bunny83

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

Mar 19, 2012 at 02:03 AM sephiroth111

i found the solution, instead of using @ i replaced ?

Mar 19, 2012 at 09:05 AM sephiroth111
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments



asked: Mar 18, 2012 at 11:40 AM

Seen: 2172 times

Last Updated: Mar 19, 2012 at 09:05 AM