问题描述
我想在一个类中创建一个简单的函数,该类可以更新数据库中的每个单元格。
就像我现在可以使用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 (将#修改为@)