This function works because I search by userid:
private void showList_Click(object sender, EventArgs e)
    {
        int id = 0;
        for (int i = 0; i <= sqlClient.Count("UserList"); i++)
        {
        Dictionary<string, string> dik = sqlClient.Select("UserList", "userid = " + id);
            var lines = dik.Select(kv => kv.Key + ": " + kv.Value.ToString());
            userList.AppendText(string.Join(Environment.NewLine, lines));
            userList.AppendText(Environment.NewLine);
            userList.AppendText("--------------------------------------");
            id++;
        }
    }
This function does not work because I search by email:
private void login_Click(object sender, EventArgs e)
    {
        string email = lemail.Text;
        Dictionary<string, string> dik = sqlClient.Select("UserList", "firstname = " + email);
        var lines = dik.Select(kv => kv.Key + ": " + kv.Value.ToString());
        logged.AppendText(string.Join(Environment.NewLine, lines));
    }
This is the error message I receive when I click on the login button:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@aol.com' at line 1
The email I searched for in the database was "
[email protected]" without quotes.
I'm lead to believe by the error message the @ sign is causing conflict as I know it is a special character but I am having a hard time figuring out what phrase to search for to help me. 
Also, here is the function that is being called:
public Dictionary<string, string> Select(string table, string WHERE)
    {
        //This methods selects from the database, it retrieves data from it.
        //You must make a dictionary to use this since it both saves the column
        //and the value. i.e. "age" and "33" so you can easily search for values.
        //Example: SELECT * FROM names WHERE name='John Smith'
        // This example would retrieve all data about the entry with the name "John Smith"
        //Code = Dictionary<string, string> myDictionary = Select("names", "name='John Smith'");
        //This code creates a dictionary and fills it with info from the database.
        string query = "SELECT * FROM " + table + " WHERE " + WHERE + "";
        Dictionary<string, string> selectResult = new Dictionary<string, string>();
        if (this.Open())
        {
            MySqlCommand cmd = new MySqlCommand(query, conn);
            MySqlDataReader dataReader = cmd.ExecuteReader();
            try
            {
                while (dataReader.Read())
                {
                    for (int i = 0; i < dataReader.FieldCount; i++)
                    {
                        selectResult.Add(dataReader.GetName(i).ToString(), dataReader.GetValue(i).ToString());
                    }
                }
                dataReader.Close();
            }
            catch { }
            this.Close();
            return selectResult;
        }
        else
        {
            return selectResult;
        }
    }
My database table is called "UserList"
The fields in order are as follows:
userid, email, password, lastname, firstname
Any help would be greatly appreciated. This site is amazing!