基本上我有一個動態表單,它根據用戶選擇的方式提供可變數量的輸入,我用這個name="user[]"
設置了所有文本輸入以將值存儲到數組。將表單輸入存入數組並查詢數組存在問題
我然後提交表單的地方進入此陣後:
$array = check_input($_POST['user']);
然後我用這陣在查詢像這樣:
$query = 'SELECT * FROM users_tb WHERE student_number IN(' . implode(',', $array) .')';
mysql_query($query) or die(mysql_error());
$result=mysql_query($query);
,我得到這個錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
現在我想要檢查數值是否在數組中,但是當我嘗試print_r($array);
以查看數值是否存在時,它僅打印單詞「Array」
我在這裏做錯了什麼?
感謝
另外的問題----
我具有由用戶在不同的動態形式輸入一個字符串數組。我想將數組中的每個值和itemid一起存儲到表中(這對所有數據都是一樣的)
我的查詢當前正在用implode將整個數組插入到一行text_value中。有沒有辦法,而不是遍歷數組,併爲數組中的每個值運行查詢,對我來說呢?
當前查詢:
$query = "INSERT INTO answers_tb (item_id, text_value)VALUES('$itemid','".implode(',', $answers) . "')";
這裏是print_r的陣列:
陣列([0] =>選項1 [1] =>選項2 [2] =>選項3 [3] =>選項4)
感謝
聽起來像你的check_input()函數可能做錯了什麼。我們可以看到它的來源嗎? – erisco 2011-03-29 15:19:59