MVC フレームワークを使用していますが、SQL クエリに問題があります。
私のウェブサイトに投稿を公開したユーザーは、確認 URL を含む電子メールを受け取ります。
mywebsite.com/confirm/f9b83b3bf994e5db3b06ya20eb306a24/
ルーティングは正しく行われていますが、SQL の "published" フィールドを 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句を追加する際の問題が修正されました!