原始問題:
與託管的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中文網其他相關文章!