Menyelesaikan Masalah Ralat Rentetan Sambungan MySQL
Apabila cuba menyambung ke pangkalan data MySQL yang dihoskan oleh 00webhost, ralat boleh berlaku, terutamanya dengan sintaks rentetan sambungan. Isu ini menimbulkan persoalan tentang perkara yang perlu diperbetulkan dalam rentetan sambungan yang salah. Selepas pemeriksaan, rentetan sambungan asal dibentangkan:
string MyConString = "SERVER=mysql7.000webhost.com;" + "DATABASE=a455555_test;" + "UID=a455555_me;" + "PASSWORD=something;";
Setelah analisis lanjut, ternyata bahawa rentetan sambungan tidak mematuhi sepenuhnya format yang dijangkakan untuk rentetan sambungan MySQL. Khususnya, nilai untuk SERVER, DATABASE, UID dan PASSWORD tidak boleh disertakan dalam tanda petikan, kerana ini boleh membawa kepada isu penghuraian.
Untuk menyelesaikan isu ini dan mewujudkan sambungan yang betul, pendekatan alternatif disyorkan :
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()) { //watch out for this SQL injection vulnerability below cmd.CommandText = string.Format("INSERT Test (lat, long) VALUES ({0},{1})", OSGconv.deciLat, OSGconv.deciLon); conn.Open(); cmd.ExecuteNonQuery(); }
Pendekatan ini menggunakan kelas MySqlConnectionStringBuilder untuk membina rentetan sambungan, memastikan betul memformat dan mengelakkan penggunaan tanda petikan. Blok kod seterusnya menyambung ke pangkalan data dan melaksanakan arahan sisipan. Dengan melaksanakan pendekatan yang disemak ini, isu sambungan boleh diselesaikan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Rentetan Sambungan MySQL dengan 00webhost?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!