我正在使用 MVC 框架并且在 SQL 查询中遇到问题。
在我的网站上发布帖子的用户会收到一封包含确认 URL 的电子邮件:
mywebsite.com/confirm/f9b83b3bf994e5db3b06ya20eb306a24/
路由正确,但我想将 SQL“已发布”字段更改为 1(默认设置为 0)
所以基本上,除了我的 UPDATE SQL 查询之外,一切都正常工作,这可能有点愚蠢,但我是这个领域的初学者,经过多次尝试后我无法修复它。
if(substr(ROUTE, 0, 8) == 'confirm/')
{
if(strlen($code = substr(ROUTE, 8, 32)) == 32)
{
if($row = db::fetch(db::query('SELECT `id` FROM `'.DB_PREFIX.'Posts` WHERE `published`=0 AND `confirm`="'.db::escape($code).'"'), 'row'))
{
//This is the problematic line
db::query('UPDATE '.DB_PREFIX.'Posts SET published=1 WHERE published=0 AND confirm="'.db::escape($code).'"');
}
}
header('Location: '.WEB.'publish_success.html');
}
感谢您的帮助 :)
编辑:问题修复了添加 WHERE 子句!