將我的表單保存到數據庫並爆炸出現小問題。問題如下:Implode和表單數據
我有一個表單有多個字段,包括複選框,它有一個值的數組。如果我將整個表單發送到我的php腳本中,它將取消選中的最後一個複選框的值,所以問題是,我只獲取數據庫中最後一個選中的值,而不是所有選中的值。
所以我做了一些調試,我發現這個問題,這是在這一行:
$values = "'" . implode("', '", $_POST) . "'";
這條不幸的是我的數據。
編輯:
這是我的PHP腳本:
$hoeveelheidvalues = count($_POST);
$values = "'" . implode("', '", $_POST) . "'";
$queryvoorderesperform = "INSERT INTO `app_res_per_form` (";
for($i = 1; $i <= $hoeveelheidvalues; $i++)
{
if($i==$hoeveelheidvalues)
{
$queryvoorderesperform .= "vraag$i";
}
else{
$queryvoorderesperform .= "vraag$i, ";
}
}
$queryvoorderesperform .= ") VALUES ($values)";
編輯2:
如果我使用序列化,我得到一個非常怪異的字符串。這是$ queryvoorderespform:
INSERT INTO `app_res_per_form` (vraag1, vraag2, vraag3, vraag4, vraag5, vraag6, vraag7, vraag8, vraag9, vraag10, vraag11, vraag12)
VALUES (a:12:{s:16:"multipleradios-0";s:11:"Orientation";s:11:"textinput-0";s:0:"";s:20:"multiplecheckboxes-0";s:9:"Recycling";s:11:"textinput-1";s:0:"";s:10:"interestin";s:15:"Diverter Valves";s:12:"rotaryvalves";s:7:"AL, AXL";s:14:"divertervalves";s:3:"PTD";s:15:"othercomponents";s:3:"DUC";s:11:"textinput-3";s:0:"";s:16:"multipleradios-1";s:18:"Systems Integrator";s:16:"multipleradios-2";s:38:"Will buy product in long time (1 year)";s:15:"standcrewmember";s:13:"Aap";})
檢查錯誤會發出語法錯誤信號。不知道你使用哪個MySQL API連接/查詢。 –
必須有100個更好的方法來做到這一點,並通過你的理智檢查你的$ _POST數組中的值 – RiggsFolly
有100000種方法可以做得更好。目前我需要做這項工作,但這只是一個臨時解決方案。 –