致命错误:在非对象中调用成员函数query()

时间:2017-07-05 14:41:35

标签: php

连接失败: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);

     ?>

2 个答案:

答案 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的访问权限

也会在出现连接错误时退出。