将从数据库中获取的数据添加到新表中

时间:2014-03-17 13:55:46

标签: php mysql

  <?php
   mysql_connect("localhost","root","");
   mysql_select_db("users_db");
   $query = "SELECT DISTINCT subject_name FROM subject";
   $result = mysql_query($query);
  ?>          

  <label for="student_subject_2">Subject 2</label>

  <select name="student_subject_2" id="student_subject_2">
      <option value="null" selected>--Select One--</option>

  <?php
   while($row = mysql_fetch_array($result))
   {      
  ?>
       <option value="<?php echo($row['subject_name']);?>"><?php echo($row['subject_name']);?></option>  
  <?php
  }
  ?>

  </select>

  <td><input type='submit' name='submit' value='Sign Up' align = 'center' /></td>

您好,

我想将此选择中的数据添加到我的数据库“users_db”中的新表中。

当我点击提交按钮后尝试输入此数据时,出现“未输入数据”消息

此刻“主题”表包含四个用户选择

非常感谢任何帮助

<?php 
     mysql_connect("localhost","root","");
     mysql_select_db("users_db");


     if(isset($_POST['submit']))
     {
        $student_subject_2 = $_POST['student_subject_2'];

        $query2 = "insert into students(student_subject_2) values ('$student_subject_2')"; 

        if(mysql_query($query2))
        {

            echo  "<script>alert('data entered')</script>";

        }
        else
        {

             echo  "<script>alert('data not entered')</script>";

         }

      }

2 个答案:

答案 0 :(得分:0)

  $query2 = "insert into students(student_subject_2) values ('$student_subject_2');

在此行中,您遗漏了"将此更改为

  $query2 = "insert into students(student_subject_2) values ('$student_subject_2');"

你的代码很容易受到mysql注入攻击

谨防关于{strong>不安全和弃用的mysql_*个功能。考虑使用 pdo mysqli _ *

答案 1 :(得分:0)

您的问题意味着您未成功运行查询。虽然我们可以猜测您的查询问题,但最好能够确切地确定错误。

要解决此问题,您需要显示mysql遇到的错误

if(mysql_query($query2)){
    echo  "<script>alert('data entered')</script>";
}else{
    echo mysql_error();
    echo  "<script>alert('data not entered.')</script>";
}

此外,你应该使用mysql - 它是不安全的库,并且不推荐使用 - 使用mysqli或pdo。

请参阅Choosing a Database API