我尝试更新数据库中的一行,但我无法做到这一点。这里是我的SQL:无法更新数据库中的行
$sql = "UPDATE `voting_nomination_counter`
SET `quantity`=quantity+1
WHERE `nid` = '$nid'
AND nominee = '$nominee'";
我怀疑问题就在这里 - AND nominee = '$nominee'";
,因为当我从查询中删除所有这些作品和更新的罚款。请帮助。
我尝试更新数据库中的一行,但我无法做到这一点。这里是我的SQL:无法更新数据库中的行
$sql = "UPDATE `voting_nomination_counter`
SET `quantity`=quantity+1
WHERE `nid` = '$nid'
AND nominee = '$nominee'";
我怀疑问题就在这里 - AND nominee = '$nominee'";
,因为当我从查询中删除所有这些作品和更新的罚款。请帮助。
我解决这个问题,如果我想更新WHERE string = string
我只需要使用此语句UPDATE table SET field = REPLACE(field, 'string', 'anothervalue') WHERE field LIKE '%string%';
,谢谢你们)
试试这个:
$sql = "UPDATE voting_nomination_counter SET quantity=quantity+1 WHERE nid = '$nid' AND nominee = '$nominee'";
除了您删除了原始SQL中的反引号之外,这里是否有任何区别? – Fluffeh 2014-10-10 07:06:50
@excluded_once看起来你能!解决你的问题。所以将来不要直接将变量名称用于SQL字符串。始终使用db_query或db_select,然后始终将变量绑定到SQL中,这将有助于防止SQL注入和其他攻击。
如果你没有得到一个SQL错误(假设你已经显示错误)输出的SQL查询字符串,看看是否你期望的变量。 – Fluffeh 2014-10-10 07:03:19
检查$ nominee中是否有任何价值 – 2014-10-10 07:11:42