2016-07-04 73 views
0
<? if($_POST['submit']) 
{ $taskSelect =$_POST['taskOption']; 

    $sql =array(); 
    foreach($_POST['task'] as $key => $value){ 
$sql[] =mysql_real_escape_string($value); 
    } 
    $ab ="INSERT INTO" .$taskSelect. "(u_id,task) VALUES ('".$_SESSION['id']."','".implode(',', $sql)."')"; 
} 
$asc =mysql_query($ab); 
?> 

HTML
如何將數據插入表中從表格中獲取表名值?

是否有可能這樣做,因爲我已經嘗試過這一點,但如果我使用從形式採取的表名沒有值被插入到表?

<select name="taskOption"> 
<option value="today">Today</option> 
    <option value="weekly">Weekly</option> 
    <option value="month">Monthly</option> 
</select> 
+0

如果不更改爲預處理語句,務必轉義'$ taskSelect'。 – Dan

+0

@Dan:最好是限制'switch'語句中的可能性。預先準備的報表不允許進行表格替換。 –

回答

2

你錯過了一些空間:

$ab ="INSERT INTO" .$taskSelect. "(u_id,task) VALUES ('".$... 

應該

$ab ="INSERT INTO " .$taskSelect. " (u_id,task) VALUES ('".$... 

話雖這麼說,不要再使用mysql_*了準備好的陳述和輸入驗證。你現在對SQL注入非常開放。

1

你必須INTO後添加一個空格,「前

$ab ="INSERT INTO " .$taskSelect. "(u_id,task) VALUES ('".$_SESSION['id']."','".implode(',', $sql)."')";