mysql_connect - 拒绝访问DB或DB的访问权限不存在?

时间:2012-04-17 23:05:43

标签: php mysql mysql-connect

所以我使用以下代码连接到我的MySQL数据库:

function dbConnect($h,$u,$p,$n) {
  if (!$con = @mysql_connect($h,$u,$p)) {$err = err("There is a problem connecting to the database. ".mysql_error());}
  else if (!@mysql_select_db($n,$con)) {$err = err("The database \"{$n}\" could not be found. Check your spelling, make sure the database exists, and that your database credentials allows you access to this database.");}
  return (isset($err)) ? $err : "";
}

问题是,如果他们输入错误的用户名,mysql_connect将不会看到任何错误并尝试连接到数据库,这会输出mysql_select_db()的错误。

所以我找到了this link。现在通常删除“任何”用户是可行的,但我正在创建一个类似phpMyAdmin的工具,并将连接到具有所有类型配置的不同数据库。如何判断哪个用户名可以实际连接?我如何区分不存在的数据库名称和无法访问它的用户名?

1 个答案:

答案 0 :(得分:1)

使用mysql_errno()

请参阅错误代码here