第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有 if else 條件的 SQL UPDATE

帶有 if else 條件的 SQL UPDATE

PHP
ABOUTYOU 2022-11-12 13:12:04
如果表中的相應列不為空,我想更新列post_author和 變量。post_user如果要取消這些特定條件并只留下一個,例如post_author,那么一切正常,我只有 sql 'case' 部分有問題。有這個問題:Notice: Fail 你的SQL語法有錯誤;檢查與您的 MariaDB 服務器版本對應的手冊,了解在第 1 行的 'SET post_author = case when post_author !=null then 'evgen' else null end, SET p' 附近使用的正確語法$query = "UPDATE posts SET post_title = '{$post_title}', post_tags= '{$post_tags}', post_date = now(), post_image = '{$post_image}', post_content = '{$post_content}',  post_status = '{$post_status}', post_category_id = '{$post_category_id}', SET post_author = case when post_author !=null then '{$post_author}'                                                else null end, SET post_user = case when post_user !=null then '{$post_user}'                                            else null end WHERE post_id = $the_great_post_id ";我有這個 HTML:<?php  if(null !=  $post_user) {?>      <div class="form-group">        <label for="post_user">User</label>       <input type="text" class="form-control" name="post_user" value="<?php echo $post_user; ?>">    </div><?php   }if(null !=  $post_author) {?>      <div class="form-group">        <label for="post_author">Author</label>       <input type="text" class="form-control" name="post_author" value="<?php echo $post_author; ?>">       </div><?php   }  ?>
查看完整描述

2 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

您不需要SET最后兩個值


  $query = "

      UPDATE posts 

      SET post_title = '{$post_title}', 

      post_tags= '{$post_tags}', 

      post_date = now(), 

      post_image = '{$post_image}',

      post_content = '{$post_content}', 

      post_status = '{$post_status}', 

      post_category_id = '{$post_category_id}', 

      post_author = case when post_author !=null then '{$post_author}' else null end, 

      post_user = case when post_user !=null then '{$post_user}' else null end 

      WHERE post_id = $the_great_post_id ";

無論如何,你不應該在 SQL 中使用 PHP 變量,這樣做會使你面臨 SQL 注入的風險。為避免這種情況,您應該查看 PHP 數據庫驅動程序的準備語句和綁定參數。


查看完整回答
反對 回復 2022-11-12
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

當你有


SET post_author = case when post_author !=null then '{$post_author}' 

                                               else null end,

有幾個問題,首先你不需要SET. 其次,usingelse null會將值設置為 null 而不是保留字段的原始值。


在這個版本中,它使用...


post_author = case when post_author is null then '{$post_author}' else post_author end, 

放在一起給你...


UPDATE posts 

    SET post_title = '{$post_title}', 

        post_tags= '{$post_tags}', 

        post_date = now(), 

        post_image = '{$post_image}', 

        post_content = '{$post_content}', 

        post_status = '{$post_status}', 

        post_category_id = '{$post_category_id}', 

        post_author = case when post_author is null then '{$post_author}' else post_author end, 

        post_user = case when post_user is null then '{$post_user}' else post_user end 

    WHERE post_id = $the_great_post_id 

另一件需要指出的事情是,您應該使用準備好的語句,因為這是不安全的,并且可能會出現各種問題。


查看完整回答
反對 回復 2022-11-12
  • 2 回答
  • 0 關注
  • 239 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號