2017-05-29 42 views
0

我無法張貼選擇功能的結果,以SQL表交選擇結果到另一個SQL表

我有一個選擇功能,其從SQL表中提取數據(見下面的代碼),

label for="test">Test:</label><br> 
    <select id="test" name="test"> 
<?php 
    $test = mysql_query("SELECT date FROM test WHERE selected is null"); 
    while ($row = mysql_fetch_array($test)){ 
    echo '<option value="'. $row['value'] .'">'. $row['date'] .'</option>'; 
    }?> 
    </select> 

當表單被提交,它加載稱爲sumbit.php另一頁,其中包括以下

<?php 
$name = $_POST['name']; 
$phone = $_POST['phone']; 
$email = $_POST['email']; 
$test = $_POST['test']; 
$comment = $_POST['comment']; 

$sql = "INSERT INTO submit (name,phone,email,test,comments) 
VALUES 
('$name','$phone','$email','$test','$comment')"; 

if (!mysql_query($sql)) { 
    die('Error: ' . mysql_error()); 
} 

mysql_close(); 
?> 

的代碼我的問題是測試場犯規更新(T其餘他的字段是文本字段,並在提交表中更新),請有人建議我的代碼有什麼問題或建議更好的方式將選擇框的結果發佈到sql表中?

+0

這可能不會幫助您解決當前問題,但您可能需要考慮在您的INSERT查詢中使用_prepared statements_和_placeholders_。有關如何在[PHP標記頁面](https://stackoverflow.com/tags/php/info)上執行此操作的一些鏈接,請參閱「**如何使SQL注入保護我的數據庫查詢安全? *「 部分。 – summea

+0

爲測試字段提供您的數據庫模式。另外檢查是否有任何mysql錯誤 – CoderSam

回答

0

先說幾句建議,您絕對需要了解PDO並準備好陳述,請閱讀this tutorial以瞭解如何正確地做事。

你需要包括你的SQL語句value領域,沒有它$row['value']將始終評估爲null這會導致你的option標籤沒有任何價值,導致$_POST['test']是總是空的。

相關問題