提问人:Bjorn T 提问时间:8/18/2020 最后编辑:DharmanBjorn T 更新时间:8/18/2020 访问量:34
使用 bind_param() 之类的东西来设置单元格名和详细信息 [duplicate] 的安全方法
Safe way to use something like bind_param() to set cellname and detail [duplicate]
问:
我想在类中制作一个简单的函数,可以更新数据库中的每个单元格。
就像我现在可以用来检索电子邮件一样,我想用echo $user->cell('email');
$user->update('email','[email protected]');
但据我所知,查询中不支持“?=?
有人可以安全解决这个问题吗?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;
}
}
答: 暂无答案
评论
"... id=" . $this->id