簡體   English   中英

將多個數據插入MYSQL數據庫

[英]Inserting Multiple data into MYSQL database

我在將多個數據插入MYSQL數據庫時遇到問題。 使用下面的代碼,我只能插入輸入的數據。 假設有3個問題,我必須提交3個輸入,它只提交最后一個。

 <?php
include('questionDB.php');
if(isset($_POST['submit'])){
    $questionID = $_POST['id'];
    $answer = mysql_real_escape_string(htmlspecialchars($_POST['answer']));
    $insert = mysql_query("INSERT INTO answers(survey_id, question_id, answer_body) VALUES ('1','" . $questionID . "', '" . $answer . "')");
    if ($insert){
        echo "Success";
    } else {
        echo "Failed";
    }
}
$startTimeAuc = mysql_query("SELECT startTime FROM questions WHERE survey_id='1'");
$startTime = mysql_fetch_assoc($startTimeAuc);
$startTime = ($startTime['startTime']);
$endTimeAuc = mysql_query("SELECT endTime FROM questions WHERE survey_id='1'");
$endTime = mysql_fetch_assoc($endTimeAuc);
$endTime = ($endTime['endTime']);


$currentTimeAuc =(date("Y-m-d H:i:s"));
if( ( $currentTimeAuc >= $startTime && $currentTimeAuc <= $endTime)){
?>
<form name="auctionQuestion" method="post">
<?php
    $auctionSurvey = "SELECT question_id, survey_id, question_body FROM questions
                      WHERE survey_id='1'";
    $aucResult = mysql_query($auctionSurvey) or die (mysql_error());
    while($auctionRow = mysql_fetch_assoc($aucResult)){
        echo "<p class=\"questions\">". $auctionRow['question_body']."</p>". "<input type=\"text\" name=\"answer\" class=\"answerField\"><BR>";
    ?>
        <input type="hidden" name="id" value="<?php echo $auctionRow    ['question_id'] ?>">
    <?php
    }
    ?>
<input type="submit" class="submit" name="submit" value="Submit">
</form>
</div>
<?php
}
?>

幾點要點:1.您的代碼容易受到sql注入攻擊,使用准備好的數據或SQLI / PDO 2.您的所有問題和答案都具有相同的名稱,這就是為什么只插入一個問題的原因。 嘗試給他們使用不同的名稱(使用-1 / -2 / -3 sufix等),或者如果我這樣做,我將在數據庫的同一記錄中有3個問題和3個答案,而不是插入3次。 3.參見以下部分。 您需要將變量添加到答案和ID。 否則,他們將獲得相同的名字。

    <input type=\"text\" name=\"answer\" class=\"answerField\">
<input type="hidden" name="id" value="<?php echo $auctionRow    ['question_id'] ?>">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM