MySQL:Update语句显示没有错误,但没有任何改变

时间:2012-04-01 20:03:50

标签: php mysql

我有一个与数据库的连接,想要更新(覆盖)一个名为profile的现有字符串。

$uid = 1;
$serProfile = 'abc';

$sql = 'UPDATE
            Users
        SET
            profile = ?
        WHERE
            id = ?';
$stmt = $db->prepare($sql);
if (!$stmt) { safeExit($db->error, 'msgError'); }
$stmt->bind_param('si', $serProfile, $uid);
if (!$stmt->execute()) { safeExit($stmt->error, 'msgError'); }
$stmt->close();

但是,尽管存在变量,但字段存在且没有错误,数据库中的值不会更改。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

测试这个

$sql = 'UPDATE Users SET  profile = :profile WHERE id = :id';
$stmt = $db->prepare($sql);
$stmt->execute(array('id'=>$uid,'profile'=>$serProfile));