php - 尚不允许属性(property)访问

标签 php mysql sql mysqli

我有一个简单的功能可以从我的数据库中删除帐户。我是这样写的

public function removeAccount($email) {
    $response = array('code' => 0, 'error' => false);
    $stmt = $this->conn->prepare("SELECT id FROM user WHERE email = ?");
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $result = $stmt->get_result();
    if ($result->num_rows) {
        $user   =  $result->fetch_assoc();
        $id = $user['id'];
        $stmt->close();

        $stmt = $this->conn->prepare("DELETE FROM number_list WHERE user_id = ?");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $stmt->close();

        $stmt = $this->conn->prepare("DELETE FROM number_status WHERE user_id = ?");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $stmt->close();

        $stmt = $this->conn->prepare("INSERT INTO old_user(email,serial,premium) SELECT email, device_id, membership FROM user WHERE id = ?");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $stmt->close();

        $stmt = $this->conn->prepare("DELETE FROM user WHERE id = ?");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $stmt->close();

        if ($stmt->affected_rows) {
            $response["code"] = 1;
        }
    }

    return $response;
}

它在下面的行中给我警告

if ($stmt->affected_rows) {

我已经搜索了解决它的方法,但不知道哪里出了问题以及可以解决它的方法。请检查并让我知道是否有人对此有想法。非常感谢。

最佳答案

$stmt = $this->conn->prepare("DELETE FROM user WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
if($stmt->affected_rows > 0) { $response["code"] = 1; }
$stmt->close();

在这种情况下,我们检查是否有任何行得到更新。作为引用,这里是 mysqli::$affected_rows 返回值的用法。

-1 - 查询返回错误;如果 execute()

已经有错误处理,则冗余

0 - UPDATE 上没有更新记录,没有行与 WHERE 子句匹配,或者没有执行查询

大于 0 - 返回受影响的行数;相当于 mysqli_result::$num_rows for SELECT

关于php - 尚不允许属性(property)访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550819/

相关文章:

.net - 使用 F# 在 MySql 数据库中存储数据结构

java - 如何将文件路径发送到 mysql 表

java - Hibernate @Where 子句

sql - 为包含列表的单元格返回多行

php - 如何为 php5-fpm/NGINX 启用 PHP IMAP?

phpredis 跟 Redis 走

php - 从 MySQL 解析 JSON 字符串并将名称/值对插入 MySQL

MySQL COUNT 和 TOP

php - 为什么我的数组(日期和日期之间的sql)是空的?

php - 如何在滚动时从mysql数据库中获取数据