Dépannage des erreurs de chaîne de connexion MySQL
Lors de la tentative de connexion à une base de données MySQL hébergée par 00webhost, des erreurs peuvent survenir, notamment avec la syntaxe de la chaîne de connexion. Ce problème soulève la question de savoir quoi rectifier dans une chaîne de connexion incorrecte. Après examen, la chaîne de connexion d'origine est présentée :
string MyConString = "SERVER=mysql7.000webhost.com;" + "DATABASE=a455555_test;" + "UID=a455555_me;" + "PASSWORD=something;";
Après une analyse plus approfondie, il devient évident que la chaîne de connexion n'est pas entièrement conforme au format attendu pour les chaînes de connexion MySQL. Plus précisément, les valeurs de SERVER, DATABASE, UID et PASSWORD ne doivent pas être placées entre guillemets, car cela peut entraîner des problèmes d'analyse.
Pour résoudre ce problème et établir une connexion correcte, une approche alternative est recommandée. :
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(); }
Cette approche utilise la classe MySqlConnectionStringBuilder pour construire la chaîne de connexion, garantissant un formatage approprié et évitant l'utilisation de guillemets. Le bloc de code suivant se connecte à la base de données et exécute une commande d'insertion. En mettant en œuvre cette approche révisée, les problèmes de connexion peuvent être résolus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!