【问题标题】:Store input select option into database将输入选择选项存储到数据库中
【发布时间】:2015-08-26 07:00:08
【问题描述】:

我想将输入选择选项的值保存在数据库中。但什么都没有得救。怎么了?我在数据库中将值保存为varchar (10)

表格

<form name="stdntdetails" action="study.php" method="post">
    <select name="department">
        <option value="IT">Information Technology</option>
        <option value="IS">Information System</option>
        <option value="CS">Computer Science</option>
    </select>
    <input type="submit" id="loginbtn" />
</form>

PHP

<?php
require_once("navig.php");
require_once('connect.php');
$dbb = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
  or die('Error communicating to MySQL server.');
if(isset($_POST['loginbtn'])){
  if(isset($_POST['department'])){
    $department=$_POST['department'];
    $querye = "INSERT INTO tbl_name(department) ".
                        "VALUES ('$department')";
    $sql=mysqli_query($dbb,$querye);
    mysqli_close($dbb);                     
  }
}
?>

【问题讨论】:

  • 你确定你得到了$_POST['department']中的值。试试echo $_POST['department'];
  • 将此问题编辑为您编辑的代码。

标签: php sql html


【解决方案1】:

您的代码中有几个错误。请尝试以下操作:

表格

<form name="stdntdetails" action="study.php" method="post">
    <select name="department">
        <option value="IT">Information Technology</option>
        <option value="IS">Information System</option>
        <option value="CS">Computer Science</option>
    </select>
    <input type="submit" id="loginbtn" name="submit"/>
</form>

PHP

<?php
require_once("navig.php");
require_once('connect.php');
$dbb = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
  or die('Error communicating to MySQL server.');
if(isset($_POST['submit'])){
  if(isset($_POST['department'])){
    $department=$_POST['department'];
    $querye = "INSERT INTO tbl_name (department) VALUES ('$department')";
    $sql=mysqli_query($dbb,$querye);
    mysqli_close($dbb);                     
  }
}
?>

我测试了代码,它运行良好。发送到 MySQL 的查询是:

INSERT INTO tbl_name(部门)值('IT')

【讨论】:

    【解决方案2】:

    像这样更改您的查询

    $querye = "INSERT INTO tbl_name(department) VALUES ('$department')";
    

    if(isset($_POST['submit']))
    

    <input type="submit" id="loginbtn" value="submit" />
    

    【讨论】:

    • @ABHI_SINGH 实际上将查询放在一行中要容易得多。 ?
    • 您没有提交按钮的价值,您正在检查 if(isset($_POST['loginbtn']))。所以条件失败。这是你的问题
    • 不仅查询尝试设置提交按钮的值并将该值检查为 isset($_POST['submit button value'])。
    • 和你说的一样,数据库仍然没有价值。所有连接正确,其他输入文本工作正常
    • 试一试,$querye = "INSERT INTO tbl_name(department) VALUES ('".$department."')";试试这个查询
    【解决方案3】:

    更改此查询

    $querye = "INSERT INTO tbl_name(department) ".
                            "VALUES ('$department')";
    

    $querye = "INSERT INTO tbl_name(department) 
                            VALUES ('$department')";
    

    也试试

    <input type="submit" id="loginbtn" name="loginbtn" value="Submit" />
    

    【讨论】:

    • @ABHI_SINGH,在if(isset($_POST['loginbtn'])){ 下方,放入echo "Success"。显示结果!编辑了代码。再试一次
    • 在那里取得了成功,但仍然没有存储价值
    • 再试一次,在$department=$_POST['department'];下面放echo $department;你得到了什么? @ABHI_SINGH
    • 当值是提交时,在回显时什么也没有,而当值是登录时,btn 也什么也没有。请帮忙
    • 为什么要使用 2 倍 id 元素 id="loginbtn"。去掉它。取而代之的是name="loginbtn"。如果你没有得到$department 的值,那么它如何存储在数据库中?
    【解决方案4】:

    让你的查询像 -

    "INSERT INTO tbl_name(department) VALUES ('$department')";
    

    并设置提交按钮的名称

    <input type="submit" id="loginbtn" name="loginbtn" />
    

    【讨论】:

      【解决方案5】:

      尝试回显您的 $_POST("department");如果显示正确的值,则查询有问题。

      试试这个:

      $querye = "INSERT INTO tbl_name(department) VALUES ('$department')";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-18
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 2013-12-25
        相关资源
        最近更新 更多