dongshen2903 2014-08-14 16:50
浏览 43
已采纳

将数据插入mysql表最后是空行?

I am displaying all questions from the mysql database. When i click submit the name, and emailadress is saved correctly.

But question_id and answer_id is just saving blank rows? Why?

I'm i missing something with the sql function for insert the answers?

 index.php:

include ('connection.php');

function getQuestions($con) {
// generate all quetions
$query = "SELECT * FROM questions";
$result = @mysqli_query($con, $query);

    if ($result) {
    while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        $body = $row['question_body'];
        $question_id = $row['question_id'];
        echo '  
            <tr>
                <form action="insert.php" method="POST">
                    <td>'.$question_id, $body.'</td>
                    <td><input type="radio" name="answer_value" value="1"></td>
                    <td><input type="radio" name="answer_value" value="2"></td>
                    <td><input type="radio" name="answer_value" value="3"></td>
             </tr>
                 </form>
                            <br/>';
        }
    }
}
                echo'
                    <form action="insert.php" method="post">
                        Firstname: <input type="text" name="firstname">
                        Lastname: <input type="text" name="lastname">
                        Email: <input type="text" name="email">
                        <input type="submit">
                    </form>';

insert.php:

    <?php
 include ('connection.php');


 // escape variables for security
 $firstname = mysqli_real_escape_string($con, $_POST['firstname']);
 $lastname = mysqli_real_escape_string($con, $_POST['lastname']);
 $email = mysqli_real_escape_string($con, $_POST['email']);

 $sql="INSERT INTO users (FirstName, LastName, Email)
 VALUES ('$firstname', '$lastname', '$email')";

if (!mysqli_query($con,$sql)) {
   die('Error: ' . mysqli_error($con));
 }
 echo "User added <br>";


 // escape variables for security
 $question_id = mysqli_real_escape_string($con, $_POST['question_id']);
 $answer_value = mysqli_real_escape_string($con, $_POST['answer_value']);

 $sql="INSERT INTO answers (question_id, answer_value)
 VALUES ('$question_id', '$answer_value')"; 

 if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
   }
 echo "Answers added";

mysqli_close($con);

?>
  • 写回答

3条回答 默认 最新

  • douzhaobo6488 2014-08-14 17:03
    关注

    You are not preparing question_id in your HTML form. It would go something like this :

      echo '<tr>
            <form atcion="insert.php" method="post">
                <td><input type="hidden" name="question_id" value="'.$question_id.'">'.$question_id, $body.'</td>
                <td><input type="radio" name="answer_value" value="1"></td>
                <td><input type="radio" name="answer_value" value="2"></td>
                <td><input type="radio" name="answer_value" value="3"></td>
         </tr>
             </form>';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答