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

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

如何更新列而不是向其添加另一個值?

如何更新列而不是向其添加另一個值?

PHP
繁華開滿天機 2022-01-23 11:02:50
所以我在我的網(wǎng)站上創(chuàng)建了一個表單,它有一個輸入,當用戶填寫它時,它將它存儲在數(shù)據(jù)庫表中,它存儲用戶寫的內(nèi)容?,F(xiàn)在,每當我再次輸入內(nèi)容時,它只會向列添加一個值,我想替換已經(jīng)添加的值。所以我想要的是,當我輸入例如“Datebase”時,它將存儲在 MySQL 表中,但是當我再次在同一輸入中輸入“Datebase change”時,它只會更新當前值,它將從“數(shù)據(jù)庫”到“數(shù)據(jù)庫更改”。所以我不想添加更多的值,我只需要這個輸入,它會改變每次提交時列上的內(nèi)容。我的代碼:<?php $title = 'Admin Panel - Edit';include '../config.php';$heading = mysqli_real_escape_string($link, $_REQUEST['heading']);// Attempt insert query execution$sql = "INSERT INTO content (heading) VALUES ('$heading')";if(mysqli_query($link, $sql)){    echo "Records inserted successfully.";} else{    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);}?><form action="edit.php">    <input type="text" name="heading" id="heading" />    <input type="submit" value="Submit" name="submit" /></form>
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

INSERT向表中添加新行。 UPDATE更新現(xiàn)有行。所以你可能會做這樣的事情:

UPDATE content SET heading = ?

(注意:我在這里使用參數(shù)占位符。雖然以您當前的方式轉(zhuǎn)義輸入是一個好主意,但這不是正確的方法。查詢參數(shù)通常仍然更安全、更穩(wěn)定。 這是一個很好的起點那個。

但是請注意,如果沒有WHERE子句,這將替換表中的每條記錄。雖然聽起來您只希望表中有一條記錄,所以這是您實際想要的行為,對嗎?如果是這樣,那么我想就邏輯步驟而言,一種簡單的方法可能是:

  • 從表中讀取。

  • 如果存在一行,則更新。

  • 否則,插入。

但這最終會查詢數(shù)據(jù)庫兩次,而使用正確的數(shù)據(jù)模型您只需要執(zhí)行一次。如果您的表有一個簡單的int主鍵,而不是自動遞增,那么您可以執(zhí)行以下操作:

INSERT INTO content (id, heading) VALUES(1, ?) ON DUPLICATE KEY UPDATE heading = ?

這將做的是顯式插入硬編碼的主鍵1?;蛘?,如果該鍵已經(jīng)存在于表中(意味著您已經(jīng)插入了一個預期的記錄),那么它會更新該記錄。


查看完整回答
反對 回復 2022-01-23
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號