这是我的代码。
$rs = $db->query('UPDATE shorturl SET originalUrl = :originalUrl, status = :status, expiryDate=null, shortUrlFolder=:shortUrlFolder WHERE id = :id', array('originalUrl' => $original_url, 'status' => $status, 'shortUrlFolder' => $shortUrlFolder, 'id' => $urlId));
如果我将“status = :status”更改为“status = active”或“status = 'active'”,当我运行它时,我会从页面收到 500 错误,这是为什么我把字符串搞错了?如果我改回“status = :status”,一切正常。
最佳答案
有两件事。
1) SQL中的字符串常量需要用单引号字符引起来。因此,请使用 status='active'
而不是 status=active
。
2) 500 错误通常是由数据库语句返回错误导致的,可能是由于查询格式不正确造成的。您应该检查错误...类似这样:
$rs = $db->query('...
if (!$rs) {
die "query failed: " . $db->error;
}
最好始终检查这些错误。
关于php - php中的Mysql更新不会更新错误500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55936738/