连接失败:SQLSTATE [28000] [1045]用户访问被拒绝&rkcat' @' localhost' (使用密码:是) 致命错误:在
中的非对象上调用成员函数query() <?php
$servername = "localhost";
$username = "rkcat";
$password = "rkcat123!@#";
enter code here
try {
$conn = new PDO("mysql:host=$servername;dbname=shradha_padma", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
$sql = "SELECT * FROM slider";
$result = $conn->query($sql);
$data = $result->fetchAll(PDO::FETCH_ASSOC);
?>
答案 0 :(得分:1)
由于Fatal error: Call to a member function query() on a non-object in
错误,您收到SQLSTATE[28000] [1045] Access denied for user 'rkcat'@'localhost'
错误。
由于try / catch中的连接失败,因此未初始化PDO对象($conn
),因此当您通过query()
调用它时,$conn->query($sql)
方法不存在。
要解决此问题,请找出拒绝您的用户访问权限的原因。 (密码错误或数据库权限不正确)
答案 1 :(得分:0)
数据库连接失败,更正您的连接参数,或检查用户&#34; rkcat&#34;拥有DB的访问权限
也会在出现连接错误时退出。