原始问题:
与托管的 MySQL 数据库建立连接时通过 00webhost,connection.Open() 行出现错误,指出没有指定参数的 MySQL 主机。尽管检查了连接字符串,但它似乎是正确的。
故障排除和解决方案:
提供的连接字符串:
string MyConString = "SERVER=mysql7.000webhost.com;" + "DATABASE=a455555_test;" + "UID=a455555_me;" + "PASSWORD=something;";
包含不正确的内容特性。要解决此问题,应使用专用连接字符串构建器类来构造连接字符串,如下所示:
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(); } }
此修改后的连接字符串使用命名属性来指定连接参数,确保它们正确对齐。此外,将 ExecuteScalar() 方法替换为 ExecuteNonQuery() 以正确执行 INSERT 语句。
以上是为什么我的 MySQL 连接字符串在 00webhost 上失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!