这是我的代码。
$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错误,这是为什么我弄错了字符串吗?如果我改回“状态=:状态”,则一切正常。
答案 0 :(得分:0)
两件事。
1)SQL中的字符串常量必须用单引号引起来。因此,请使用status='active'
而不是status=active
。
2)500条错误通常是由于数据库语句返回错误而导致的,这可能是由于格式不正确的查询所致。您应该检查错误……是这样的:
$rs = $db->query('...
if (!$rs) {
die "query failed: " . $db->error;
}
总是检查这些错误是一种好习惯。