2017-06-26 32 views
1

我有一個窗體中的隱藏輸入。當我提交表單時,我想在名爲「answers」的表中創建一個新的列,其中標題基於隱藏輸入的值。無法添加一列到MySql標題後輸入值

CODE FOR FORM +隱藏輸入

<form action="frameworkplayground.php" method="POST"> 
    <input type="hidden" name="LevelColumnAdder" value="Simplifying Fractions"> 
    <input type="submit" id="samplesubmitbutton" value="Click Me"> 
</form> 

CODE採取HIDDEN輸入值(名爲「LevelColumnAdder」)加上「測試」的值&以此作爲一新的標題柱。

<?php 
    if(isset($_POST['LevelColumnAdder'])){ 
      $LevelColumnAdder=$_POST['LevelColumnAdder']; //Here, I'm trying to get the value of the input named LevelColumnAdder 
      $db->query("ALTER TABLE answers ADD $LevelColumnAdder+"Test" VARCHAR(255) NOT NULL"); //I know the +"Test" part is wrong but I don't know how to add "Test" to the value and use it as the new title 
    } 
?> 

當這個表單被提交時,我最終希望它形成一個名爲「簡化分數測試」的新列,但沒有任何事情發生。

+1

相當不尋常的改變這樣的表結構。我認爲你需要重新訪問你的表格模式 – rtfm

+0

也沒有人注意到你的列名中的空格,所以下面的答案不會工作。 – rtfm

+0

是的,在多種方式的設計不好。 – AbraCadaver

回答

1

你會很快遇到max列的問題。

但嘗試ADD COLUMN

+0

感謝您的回覆。雖然我不太理解。你是說我應該改變行'$ db-> query(「ALTER TABLE answers ADD $ LevelColumnAdder +」Test「VARCHAR(255)NOT NULL」);'to'$ db-> query(「ALTER TABLE answers ADD COLUMN $ LevelColumnAdder +「Test」VARCHAR(255)NOT NULL「);'? – Snoops