将HTML选择/下拉列表提交到MySQL数据库

时间:2011-07-15 19:02:30

标签: php mysql html forms

我正在尝试提交HTML <form>并将inputselect信息输入MySQL数据库表。我的代码正在将<input type="text">数据输入到表中,但它没有在<select>中输入数据。

这是我一直在使用的<form>

<form enctype="multipart/form-data" action="send.php" method="post">
    <select name="gender">
        <option value="Male"> Male</option>
        <option value="Female">Female</option>
    </select>
    <input type="text" name="name">
    <input type="submit" value="Add">
</form>

这是我用来将表格输入表格的PHP:

<?php
$gender=$_POST['gender']; // This is the select/dropdown
$name=$_POST['name'];  // This is the text input

mysql_connect("", "", "") or die(mysql_error()) ; 
mysql_select_db("") or die(mysql_error()) ; 

mysql_query("INSERT INTO `table1` VALUES ('$gender', '$name')") ; 
?>

4 个答案:

答案 0 :(得分:2)

  • 尝试打印表单结果
  • 尝试打印您的SQL语句而不是执行
  • 用眼睛检查陈述
  • 复制该语句并尝试手动在服务器上执行。
  • 在MySQL服务器配置文件的log=query.log部分添加[mysqld]选项(可能是my.cnf),重新启动服务器并查看query.log最近的查询 - 做他们到达了服务器?

答案 1 :(得分:1)

嗯...如果那不起作用,试试:

mysql_query("INSERT INTO table1 VALUES ('".$gender."','".$name."');");

答案 2 :(得分:0)

尝试:

mysql_query("INSERT INTO `table1` (genderCol,nameCol) VALUES ('{$gender}','{$name}')");

尽管正如@Joe Stefanelli所说,你应该真的要消毒输入 - 永远不要相信用户。看一下使用prepared statements

答案 3 :(得分:0)

你可以尝试

<?php
$gender=$_POST['gender']; 
$name=$_POST['name']; 

mysql_connect("", "", "") or die(mysql_error()) ; 
mysql_select_db("") or die(mysql_error()) ; 

mysql_query("INSERT INTO `table1` SET `fieldgender`='{$gender}', `fieldname`='{$name}'") ; 
?>

使用字段性别和字段名称是sql table1

中的列