我有兩種形式插入2點形式的數據到一個表:student.html和faculty.html,我想他們的數據存儲到一個表中調用TEACHING_AWARD_NOMINATIONS
CREATE標識符----使用PHP
我用同樣的PHP文件的兩個人。下面是我的代碼:
$srr = array_map('mysql_escape_string', $_REQUEST);
if ($srr['NOMINATIONTYPE'] == 'STUDENT')
$fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else if ($srr['NOMINATIONTYPE'] == 'FACULTY')
$fields = Array('TYPE','NAME', 'EMAIL', 'NOMINEE', 'DEPT', 'COURSE', 'YEARTERM', 'REQUIRED_FOR_MAJOR', 'MAJOR_LEARNING_OBJECTIVES', 'WHAT_EXTENT_INSTRUCTOR_HELP', 'RANK', 'RANK_COMMENT','EVIDENCE','EFFECTION','CONTRIBUTION', 'TEXTBOX_1', 'TEXTBOX_2', 'TEXTBOX_3', 'TEXTBOX_4', 'TEXTBOX_5');
else die('error: no nomination type');
foreach ($fields as $f)
$$f = $srr[$f];
$qry = "INSERT INTO TEACHING_AWARD_NOMINATIONS (";
foreach ($fields as $f) $qry .= $f . ", ";
$qry = substr($qry, 0, -2);
$qry .= ") VALUES (";
foreach ($fields as $f) $qry .= "'" . $$f . "', ";
$qry = substr($qry, 0, -2);
$qry .= ")";
$result = mysql_query($qry) or die('An error ocurred: '.mysql_error());
echo 'Success! Thank you for submitting your nomination.';
它完美地將數據存儲除了在表
下面在每個HTML代碼中的'TYPE'
柱:
<input type="hidden" name="NOMINATIONTYPE" value="FACULTY" />
<input type="submit" value="Submit" name="Submit" />
<input type="reset" value="Reset" name="Reset" />
<input type="hidden" name="NOMINATIONTYPE" value="STUDENT" />
<input type="submit" value="Submit" name="Submit" />
<input type="reset" value="Reset" name="Reset" />
我怎樣才能創建一個標識符桌子?我希望從學生表格中提交的數據顯示類型:表格中的學生和教師表格中提交的數據顯示類型:表格中的教師。
請幫忙~~~
你是什麼意思,當你說它「不起作用」?出了什麼問題?你遇到了什麼錯誤?你有沒有試過顯示你生成的SQL語句,而不是僅僅運行它?這樣看來你的錯誤可能會更容易。 –
另外 - 從SQL注入攻擊的角度來看,您的代碼看起來有點危險。我希望你沒有在暴露於互聯網的服務器上運行它。 –
你可以仔細檢查foreach($字段爲$ f)$ qry。=「'」。 $$ f。 「',」;爲什麼你有2美元?並且可以回顯查詢並查看返回的內容,這有助於查找問題。 –