php通过mysqli连接mysql数据库

时间:2019-03-18 20:03:52

标签: php mysql mysqli

我尝试通过PHP mysqli连接到mysql数据库。

define('DB_SERVER', '127.0.0.3');
define('DB_USERNAME', '570466');
define('DB_PASSWORD', 'pssst!');
define('DB_NAME', 'db570466');

/* Attempt to connect to MySQL database */
$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

并得到以下错误: Warning: mysqli::mysqli(): (HY000/1045): Access denied for user '570466'@'localhost' (using password: YES) in /.../config.php on line 16

奇怪的是,我的用户@localhost的访问被拒绝,但是我没有连接到本地主机。根据托管人(domainFactory)的说法,我还可以通过mysql5.my-domain.tld连接到数据库,但这会提供相同的输出。

我想念什么?

2 个答案:

答案 0 :(得分:2)

根据the help pages,DomainFactory的数据库用户名应以“ db”开头:

  

Den用户名Ihrer Datenbank,名称为“ MySQL-Datenbanken”。格式为db12345bzw。 db12345_1贝特韦滕人Datenbanken。

(翻译:)

  

数据库的用户名可以在客户门户的“ MySQL数据库”下找到。对于后续数据库,其格式为db12345或db12345_1。

因此,您应该能够使用用户名void spawn(std::string board[6]) { for (int i = 0; i <= 6; i++) { std::cout << board[i] << std::endl; } } bool check(int a, int b, const std::string board[6]) { if (a < board[1].size() && a >= 0 && b < board[1].size() && b >= 0) { if (board[a][b] == '#' || board[a][b] == '+') { return false; } else if (board[a][b] == '.' || board[a][b] == 'S' || board[a][b] == 'G') { return true; } } return false; } void play(std::string board[6], int a, int b) { if (board[a][b] == 'G' || board[a][b] == 'g') { board[0][0] = 'S'; spawn(board); return; } if (board[a][b] == '.' || board[a][b] == 'S') board[a][b] = '+'; if (check(a + 1, b, board)) play(board, a + 1, b); if (check(a - 1, b, board)) play(board, a - 1, b); if (check(a, b + 1, board)) play(board, a, b + 1); if (check(a, b - 1, board)) play(board, a, b - 1); if (board[a][b] == '+') board[a][b] = '.'; } int main() { std::string grid[7] = {{"S#####"}, {".....#"}, {"#.####"}, {"#.####"}, {"...#.G"}, {"##...#"}}; play(grid, 0, 0); return 0; } 而不是db570466连接到数据库“ db570466”。

答案 1 :(得分:-2)

您正在使用127.0.0.3,但是它拒绝“ localhost”。因此,请改用“ localhost”。并且确保用户570766 @ localhost具有权限。