我有一個複選框列表,我想插入每個項目檢查到數據庫中。由於它是一個複選框,我只有一個值傳遞給數據庫,但我也傳遞了一個從先前的數據庫插入中獲取的變量(主鍵)。插入多個複選框答案到數據庫中
我的問題是,我不能讓它發佈到數據庫。我已經嘗試了多種方式來通過這裏的帖子來做到這一點,似乎沒有任何工作。我很茫然。我對PHP和mysqli也相當陌生,所以我相信有更好的方法來做我想做的事情,所以請幫助我。
該表由三列(school_id,graduate_id,schoolName)組成。 school_id是AI主鍵,而graduate_id將填充從先前查詢抓取的變量$ graduateID。 以下是我有:
if (isset($_POST['school'])) {
$school=$_POST['school'];
$schoolQuery="";
foreach($school as $value) {
if(!$schoolQuery) {
$schoolQuery="INSERT INTO schoolReunion (graduate_id, schoolName) VALUES ($graduateID, '$value')";
} else {
$schoolQuery .= ", ($graduateID, '$value')";
mysqli_store_result($schoolQuery);
}
}
$schoolQuery .=";";
if (mysqli_multi_query ($schoolQuery)) {
echo "Files have been updated successfully.";
} else {
echo "Error: " . $schoolQuery . "<br/>" . mysqli_error($dbc);
}
}
當錯誤代碼打印出來,它看起來不錯,但它只是將不會發布任何東西,讓我沒有錯誤。你可以幫我嗎?
什麼是你前端形式看起來像? – Maximus2012
請注意,您只構建了一個插入多個數據集的查詢,因此您不需要'mysqli_multi_query'。你有一個SQL注入問題。你也應該去掉'mysqli_store_result'語句。 – jeroen
在if語句中,您設置了插入的開頭部分(INSERT INTO ...),但在else語句中,您沒有任何要執行的真實查詢。邏輯是,你需要執行「this」查詢,或者「that」查詢 – MrTechie