簡體   English   中英

PHP中的基本SQL更新查詢

[英]Basic SQL Update query in PHP

我正在使用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子句!

您的UPDATE命令中沒有WHERE子句。

db::query('UPDATE `'.DB_PREFIX.'.Posts` SET `published`=1 WHERE id = ' . $row['id'] );

能否請您嘗試以下查詢。 我不確切知道它是否會工作。

  db::query("UPDATE `".DB_PREFIX."Posts` SET `published`=1 WHERE `published`=0 AND `confirm`='".db::escape($code)."'");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM