1 回答
TA贡献1812条经验 获得超5个赞
恭喜您使该功能起作用(如果它们起作用)。可能不是。
由于 bindParam 需要 1 个参数,但您发送了 2 个参数,此函数将不起作用。
除此之外,如果您每次都创建新函数,那么不需要函数,您可以创建一个普通查询并更新您的表。
使用函数意味着它可以节省您编写更多代码的时间,用更少的代码完成更多的工作。
所以在你的情况下功能应该是这样的:
$userId = ['id'];
$role = ['role_id'];
function demote($userId) {
global $db;
try {
$query = "UPDATE users SET role_id = ? WHERE id = ?";
$stmt = $db->prepare($query);
$stmt->bindparam(1,$userId);
$stmt->bindparam(2,$role);
$stmt->execute();
} catch (\Exception $e) {
throw $e;
}
}
在我的情况下,它应该是这样的,没有 bindparams:
function update($sql, $params) {
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return $stmt;
}
和 usaqe :
$sql = "UPDATE users SET role_id = ? WHERE id = ?";
update($sql, array($role, $userId));
注意: 我不使用 symfony
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报