3 回答

TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
如果您準(zhǔn)備查詢,您還可以對其進(jìn)行參數(shù)化。然后您只需準(zhǔn)備一次查詢,但可以多次使用不同的參數(shù)運行它。
這意味著數(shù)據(jù)庫只需編譯/優(yōu)化一次查詢,并且參數(shù)也可以免受 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();

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊
如果您想在一個數(shù)據(jù)庫行中保存兩個/所有 textarea 值,您應(yīng)該只觸發(fā)一個 INSERT查詢,在循環(huán)之外。例如,您可以在插入之前連接所有文本值:
$textVal = '';
foreach($_POST['text'] as $text){
$textVal .= $text . "\n\n";
}
$consult = $conection->prepare("INSERT INTO texts_form(description)
VALUES('$textVal');");
$consult->execute();
當(dāng)然,您應(yīng)該關(guān)心文本中的單引號,參數(shù)化查詢會這樣做?;蛘呦襁@樣:
$consult = $conection->prepare("INSERT INTO texts_form(description)
VALUES('".mysqli_real_escape_string($link, $textVal)."');");

TA貢獻(xiàn)1805條經(jīng)驗 獲得超9個贊
[] 將您的 HTML 響應(yīng)轉(zhuǎn)換為一個數(shù)組。聽起來您想獲取整個數(shù)組,然后將其轉(zhuǎn)換為單個字符串,然后將其放入表格中的單個單元格中,對嗎?
所以不要對每個值都進(jìn)行插入,先將值連接起來,然后再插入一次。
foreach($_POST['text'] as $text){
$all_text .= $text ;
}
然后清理 $all_text 并插入它。
- 3 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報