如何使用php将表单值发送到MYSQL数据库

时间:2012-07-18 11:55:01

标签: php mysql

我将答案值发送到answer表。我使用以下代码执行此操作。请看一下,让我知道我做错了什么,我是php的新手。 我想在表格中添加问题编号和答案值。

    <?php  
        //connects to database  
        $con = mysql_connect("localhost","root",""); 
        if (!$con)  
        {  
        die('Could not connect: ' . mysql_error());  
        }  
            mysql_select_db("appulentoweb", $con);  

        //retrieve data from database  
        $result = mysql_query("SELECT * FROM questions"); ?>
 <form action="questioned.php" method="post">
       <table>
           <tr>
              <th> QNo</th>
              <th> QTitle </th>
              <th> QAnswer </th>
           </tr>
        <?php 
        while($row=mysql_fetch_array($result))
        {
         ?>
         <tr>
            <td><?php echo $row['qid'];?></td>
            <td><?php echo $row['qdesc'];?></td>
            <td><input type="text" name="answervalue" /></td>
           </tr>
<?php  
$sql="INSERT INTO mobilestrgy (qno,response) VALUES ('$_POST[qid]','$_POST[answervalue]')";

?>
<?php } ?>
</table>

<input type="submit" value="Submit"/>

</form>

我想将数据提交到数据库。 在此先感谢。

2 个答案:

答案 0 :(得分:1)

  • die不是一个好的错误处理函数,没有人因为错误而死...代替使用好的错误处理,例如:http://github.com/WouterJ/sql-boilerplate/tree/mysql/
  • 使用mysql_fetch_assoc代替mysql_fetch_array
  • 您在哪里检查查询是否成功?
  • 使用mysql_num_rows检查查询是否返回了结果
  • 不要将变量放在引号内。使用点运算符:http://php.net/operators.string
  • 究竟出了什么问题?你有任何错误吗?你的数据库设计是什么?
  • 您认为问题在哪里?在你问这个之前你做了什么? (例如在谷歌搜索)

答案 1 :(得分:0)

您正在学习,至少需要2个文件,一个包含HTML代码,另一个包含PHP代码。当您单击提交HTML时,它会将数据发送到服务器,PHP文件将接收它,并将其插入到数据库中,看看这个示例

html page

<html>
<body>

<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html> 

php文件:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);
?> 

我是从here获取的。

请查看此BASIC TUTORIAL,但会帮助您理解