【问题标题】:Submit an HTML select/dropdown form to MySQL database向 MySQL 数据库提交 HTML 选择/下拉表单
【发布时间】:2011-10-06 10:02:18
【问题描述】:

我正在尝试提交 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')") ; 
?>

【问题讨论】:

  • 哈哈,Joe 链接的卡通片很棒。任何人,不要将 $_POST(或任何用户输入的数据)直接插入到 mysql 语句中。这会打开一些大的安全漏洞。查看方法mysql_real_escape_string。这并不完美,但只是一个开始。除此之外,需要更多信息来了解为什么您的数据没有进入表中。 mysql会抛出任何错误吗?使用print_r 确保您从表单中正确捕获数据。

标签: php mysql html forms


【解决方案1】:
  • 尝试打印表单结果
  • 尝试打印您的 SQL 语句而不是执行
  • 用眼睛检查声明
  • 复制语句并尝试在服务器上手动执行。
  • 在 MySQL 服务器配置文件的[mysqld] 部分添加log=query.log 选项(可能是my.cnf),重新启动服务器并查看query.log 以获取最近的查询——它们是否到达服务器?

【讨论】:

    【解决方案2】:

    嗯...如果这不起作用尝试:

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

    【讨论】:

    • 你应该避免在查询中使用连接
    【解决方案3】:

    试试:

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

    不过,正如@Joe Stefanelli 所说,您真的应该清理输入——永远不要相信用户。看看使用prepared statements

    【讨论】:

      【解决方案4】:

      你可以试试

      <?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}'") ; 
      ?>
      

      与 fieldgender 和 fieldname 是你的 mysql table1 中的列

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-15
        • 2015-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多