无法连接到任何指定的 MySQL 主机
本文关键字:MySQL 主机 任何指 连接 | 更新日期: 2023-09-27 18:34:32
我正在尝试创建一个连接到MySQL数据库的登录表单。我安装了插入表单中的sql连接器,但是当我尝试连接时,出现无法连接到任何指定MySQL主机的错误。这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace ECBSRecruitmentAgencySoftware
{
public partial class LogIn : Form
{
public LogIn()
{
InitializeComponent();
}
public bool tryLogin(string username, string password)
{
MySqlConnection con = new MySqlConnection("host=think-tek.net;user=ctutorial;password=chang3d;database=ctutorial_logintest;");
MySqlCommand cmd = new MySqlCommand("Select * FROM login WHERE user_name = `" + username + "` AND user_pass = `" + password + "`;");
cmd.Connection = con;
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() != false)
{
if (reader.IsDBNull(0) == true)
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return false;
}
else
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return true;
}
}
else
{
return false;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (tryLogin(textBox1.Text, textBox2.Text) == true)
{
MainScreen F2 = new MainScreen();
F2.Show();
this.Hide();
}
else MessageBox.Show("Wrong details!");
}
}
}
这个网站在连接字符串方面非常有帮助。您的连接字符串似乎无效。
另外:确保您的用户具有适当的访问权限。许多托管服务提供商仅启用从本地主机访问。您可能需要请求它们为您的用户启用远程访问。
我的 MySQL 连接字符串是:
string mySqlConn = "server=localhost;user=username;database=databasename;port=3306;password=password;";
连接字符串引发什么异常?应该有一个错误号。
在示例中尝试给定格式的连接字符串:
public bool tryLogin(string username, string password)
{
MySqlConnection con = new MySqlConnection("SERVER=localhost;" +
"DATABASE=mydatabase;" +
"UID=testuser;" +
"PASSWORD=testpassword;");
MySqlCommand cmd = new MySqlCommand("Select * FROM login WHERE user_name = `" + username + "` AND user_pass = `" + password + "`;");
cmd.Connection = con;
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() != false)
{
if (reader.IsDBNull(0) == true)
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return false;
}
else
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return true;
}
}
else
{
return false;
}
}
我遇到了同样的问题,连接字符串中出现错误!不知何故,我两次向两个不同的地点宣布它。一次到我的本地主机,第二次到服务器机器数据库。当我在客户端计算机上发布项目时,无法连接到本地主机(我的电脑是什么(。 我想知道我如何得到这个:"无法连接到任何指定的 mysql 主机">
这就是人类如何使他的生活复杂化几天!
当然,我能够连接到服务器机器上的数据库。
所以,举个例子,这是我的问题。而且,解决方案是向它声明一次,然后向一个数据库声明!!
而且,我想分享我的连接字符串,它工作得很好:
cs = @"服务器=xxx.xxx.xxx.xxx;uid=xxxx;password=xxx;database=xxxxx;port=3306";
你的字符串连接是正确的没有错误,但首先在本地服务器上检查一下这是例外,仅提高您的 XAMPP 未运行,首先启动 XAMPP转到浏览器并键入本地主机,如果它有效,您将看到 XAMPP 菜单如果它打开本地主机,则尝试连接您的服务器
string connection = "server=localhost;database=student_record_database;user=root;password=;";
MySqlConnection con = new MySqlConnection(connection);
public bool tryLogin(string username, string password)
{
MySqlConnection con = new MySqlConnection("SERVER=xx.xx.xx.xx;DATABASE=dbname;UID=user;PASSWORD=password;CheckParameters=False;");
MySqlCommand cmd = new MySqlCommand("Select * FROM login WHERE user_name = `" + username + "` AND user_pass = `" + password + "`;");
cmd.Connection = con;
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read() != false)
{
if (reader.IsDBNull(0) == true)
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return false;
}
else
{
cmd.Connection.Close();
reader.Dispose();
cmd.Dispose();
return true;
}
}
else
{
return false;
}
}