致命错误:在第223行的C:\ Program Files ....中的非对象上调用成员函数rowCount()

时间:2015-06-04 08:45:22

标签: php mysql pdo

我在下面的代码

中收到致命错误(提到位置)
try {

    $conn = new PDO("mysql:host=$servername1;dbname=Userdb", $username1, $password1);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //Set PDO error mode to exception.
    //Executing query
    $q=$dbc->exec(" UPDATE  USertable
                SET     username='$username', password='$password'
                WHERE   id=1");
    echo $q->rowCount()."Records UPDATED successfully"; //LINE 223 ERROR IN THIS LINE
    echo "Step 4 Successfull";

} catch(PDOException $e) {
    echo $q. $e->getMessage() . "<br>";
    die();
}
$dbc = $q = Null;

2 个答案:

答案 0 :(得分:0)

你应该这样做:

$dbc->rowCount()

如果您的查询正在执行

$q=$dbc->exec(" UPDATE  USertable
                SET     username='$username', password='$password'
                WHERE   id=1");

否则使用

$conn$conn ->exec()

$conn ->rowCount()

答案 1 :(得分:0)

此错误表示$dbc不是对象的实例 它看起来是一个复制/粘贴错误 更新您的查询以在对象的实例上执行

$q=$conn->exec(" UPDATE  USertable
            SET     username='$username', password='$password'
            WHERE   id=1");

此外,您应该使用prepare / execute函数进行更新查询,而不是exec()