PHP PDO使用错误的用户名访问数据库

时间:2016-01-20 12:17:18

标签: php mysql pdo

我正在使用PHP编写应用程序,使用PDO测试数据库连接,只是查询" SHOW DATABASES"。 但是,如果我尝试与未使用的用户连接到数据库,我也会得到连接...

例如,如果我尝试使用正确的用户(root):

$conn = new PDO('mysql:host=localhost', 'root', '');
$result = $conn->query("SHOW DATABASES");
while($row = $result->fetchAll()){
    var_dump($row);
}

并回复我得到的结果:

array(5) { [0]=> array(2) { ["Database"]=> string(18) "information_schema" [0]=> string(18) "information_schema" } [1]=> array(2) { ["Database"]=> string(5) "mysql" [0]=> string(5) "mysql" } [2]=> array(2) { ["Database"]=> string(18) "performance_schema" [0]=> string(18) "performance_schema" } [3]=> array(2) { ["Database"]=> string(10) "phpmyadmin" [0]=> string(10) "phpmyadmin" } [4]=> array(2) { ["Database"]=> string(4) "test" [0]=> string(4) "test" } } 

但是,如果我使用随机字符串作为用户名,请执行以下操作:

$conn = new PDO('mysql:host=localhost', 'sdghasdgas', '');
$result = $conn->query("SHOW DATABASES");
while($row = $result->fetchAll()){
    var_dump($row);
}

我仍然得到结果但只有这个:

array(2) { [0]=> array(2) { ["Database"]=> string(18) "information_schema" [0]=> string(18) "information_schema" } [1]=> array(2) { ["Database"]=> string(4) "test" [0]=> string(4) "test" } } 

感谢您的帮助。

0 个答案:

没有答案