微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用诸如bind_param之类的方法设置单元格名称和详细信息的安全方法

如何解决使用诸如bind_param之类的方法设置单元格名称和详细信息的安全方法

我想在一个类中创建一个简单的函数,该类可以更新数据库中的每个单元格。

就像我现在可以使用echo $user->cell('email');来检索电子邮件一样,我想用

进行更新
$user->update('email','new@email.com');

但是据我所知,bind_param()不支持“?=?”在查询中。 有人对此有安全的解决方案吗?

class User{
    private $details;
    private $id;
    function __construct($userId){
        $db = Database::getInstance();
        $MysqLi = $db->getConnection();
        $stmt = $MysqLi->prepare("SELECT * FROM users WHERE id=?");
        $stmt->bind_param("i",$userId);
        $stmt->execute();
        $result = $stmt->get_result();
        if($result->num_rows == 1){
            $this->details = $result->fetch_assoc();
            $GLOBALS['userId'] = $userId;
        }
        $stmt->close();
    }
    function cell($cell){
        return $this->details[$cell];
    }
    function update($cell,$value){
        $db = Database::getInstance();
        $MysqLi = $db->getConnection();
        $stmt = $MysqLi->prepare("UPDATE users SET ?=? WHER id=".$this->id);
        $stmt->bind_param("ss",$cell,$value);
        $stmt->execute();
        return true;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。