亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

這是 foreach 是否適合將文本添加到數據庫中,還是我使用了錯誤的方法?

這是 foreach 是否適合將文本添加到數據庫中,還是我使用了錯誤的方法?

PHP
慕桂英546537 2022-01-02 19:32:30
所以我使用 foreach 循環將 textareas 標簽中的文本添加到我的 MYSQL 數據庫中,雖然它確實可以推送兩個單獨的行,但有沒有辦法在 PHP 中將這些文本添加到一行中?html代碼:<form method="POST"  action="echo.php" enctype="multipart/form-data">    <textarea name="text[]"></textarea><br><br>    <textarea name="text[]"></textarea>    <input type="submit" name="upl" value="send"></form>我試過只做沒有 [] 和 foreach 的名字,它所做的只是從第二個 textarea 中獲取文本,完全忽略第一個php代碼:foreach($_POST['text'] as $text){    $consult = $conection->prepare("INSERT INTO texts_form(description)        VALUES('$text');");    $consult->execute();}
查看完整描述

3 回答

?
慕森卡

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

如果您準備查詢,您還可以對其進行參數化。然后您只需準備一次查詢,但可以多次使用不同的參數運行它。


這意味著數據庫只需編譯/優化一次查詢,并且參數也可以免受 SQL 注入攻擊。


$stmt = $conection->prepare("INSERT INTO texts_form (description) VALUES(?)";


foreach($_POST['text'] as $text){

    $stmt->bind_param('s', $text);

    $stmt->execute();

}

或者,如果您想要一行中的 2 個字段


$all .= $_POST['text'][0] . ' ' . $_POST['text'][1];


$stmt = $conection->prepare("INSERT INTO texts_form (description) VALUES(?)";

$stmt->bind_param('s', $all);

$stmt->execute();


查看完整回答
反對 回復 2022-01-02
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

如果您想在一個數據庫行中保存兩個/所有 textarea 值,您應該只觸發一個 INSERT查詢,在循環之外。例如,您可以在插入之前連接所有文本值:


$textVal = '';

foreach($_POST['text'] as $text){

    $textVal .= $text . "\n\n";

}

$consult = $conection->prepare("INSERT INTO texts_form(description)

    VALUES('$textVal');");

$consult->execute();

當然,您應該關心文本中的單引號,參數化查詢會這樣做?;蛘呦襁@樣:


$consult = $conection->prepare("INSERT INTO texts_form(description)

    VALUES('".mysqli_real_escape_string($link, $textVal)."');");


查看完整回答
反對 回復 2022-01-02
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

[] 將您的 HTML 響應轉換為一個數組。聽起來您想獲取整個數組,然后將其轉換為單個字符串,然后將其放入表格中的單個單元格中,對嗎?


所以不要對每個值都進行插入,先將值連接起來,然后再插入一次。


foreach($_POST['text'] as $text){

    $all_text .= $text ; 

}

然后清理 $all_text 并插入它。


查看完整回答
反對 回復 2022-01-02
  • 3 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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