Original Question:
When establishing a connection to a MySQL database hosted by 00webhost, an error occurs on the connection.Open() line, stating that there is no MySQL host with the specified parameters. Despite checking the connection string, it appears to be correct.
Troubleshooting and Solution:
The provided connection string:
string MyConString = "SERVER=mysql7.000webhost.com;" + "DATABASE=a455555_test;" + "UID=a455555_me;" + "PASSWORD=something;";
contains incorrect properties. To resolve the issue, the connection string should be constructed using a dedicated connection string builder class, as follows:
MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder(); conn_string.Server = "mysql7.000webhost.com"; conn_string.UserID = "a455555_test"; conn_string.Password = "a455555_me"; conn_string.Database = "xxxxxxxx"; using (MySqlConnection conn = new MySqlConnection(conn_string.ToString())) { using (MySqlCommand cmd = conn.CreateCommand()) { // Handle SQL injection here cmd.CommandText = string.Format("INSERT Test (lat, long) VALUES ({0},{1})", OSGconv.deciLat, OSGconv.deciLon); conn.Open(); cmd.ExecuteNonQuery(); } }
This modified connection string uses named properties to specify the connection parameters, ensuring their proper alignment. Additionally, the ExecuteScalar() method is replaced with ExecuteNonQuery() to execute the INSERT statement correctly.
The above is the detailed content of Why Is My MySQL Connection String Failing on 00webhost, and How Can I Fix It?. For more information, please follow other related articles on the PHP Chinese website!