当前位置: 首页 > 知识库问答 >
问题:

从下拉列表中插入值时没有错误,但不会插入

养焱
2023-03-14

我有一个下拉循环,当我尝试从下拉列表中选择一个数字时,它会发出回声。但是当我插入它时,它不会执行,也不会显示在数据库中。但是,当我将$\u POST值更改为静态数字时,它会插入并显示。比如$x=$_POST['category'];它不插入,但$x=3;它在数据库中插入了以下内容:

/*The Drop Down*/
 <select name="category">
 <?php 
 $query=mysql_query("SELECT * FROM deliverable_category");
 while($row=mysql_fetch_assoc($query)){ ?>

 <option value="
 <?php echo $row['deliverable_category_id'] ; ?> ">

 <?php echo $row['deliverable']  ;  ?> 

 </option>
 <?php } ?>

 </select>

/*The Query*/

  $name=$_POST['title'];
  $deliverable_desc=$_POST['deliverable_desc'];
  $category_id=$_POST['category'];
  $adviser=$_SESSION['user_id'];
         $con=mysqli_connect("localhost","root","","obeo") ;
                     if(mysqli_connect_errno())
                     {
                         echo "<br/>Error connecting to database!";
                         exit();
                     }else
                     {
                       echo "<br/> ";

         $sqlstmt="insert into deliverable(deliverable_title,deliverable_desc,adviser_id,deliverable_category_id) values(?,?,?,?)";




            $stmt=$con->prepare ($sqlstmt);
            $stmt->bind_param('ssss', $name,$deliverable_desc,$adviser,$category_id);
            $stmt->execute();   

共有2个答案

齐飞星
2023-03-14

在编写之前,$顾问=$_SESSION['user_id'];应该使用session_start();

如果不起作用,请手动在数据库上执行insert查询并检查错误

洪鸿博
2023-03-14

应该是因为您将DB字段定义为INT。尝试以下代码:

$x = (int)$POST['category'];
 类似资料:
  • 我正在尝试将用户在表单中输入的值插入数据库。 我有两个下拉列表用于血液测试,然后是分类。例如,用户首先选择下拉列表1“甲状腺”(类别),然后下拉列表2显示“FT4、FT3 TSH”(血液检测)等,用户进行选择。 然后他们输入日期和值。 在我的insert中,我需要在我的数据库中插入用户id(在使用会话变量登录后建立)、血液测试id(从下拉列表2)、日期和值。 我不能得到我的SQL查询正确的插入一般

  • 在这里,我尝试将所选下拉列表值插入数据库。但这里发生的是什么。 在这里,我有多个文本框和下拉框旁边。文本框的值正在正确插入数据库。 例如:假设有3个文本框和下拉列表。现在,我在文本框中输入一些数据,并在下拉列表中选择值,然后单击提交。 当我点击提交。将三个文本框值正确插入数据库。但是没有正确插入下拉列表值。但它插入最后一个下拉列表值3次。。。 如何解决这个问题? javascript和php代码:

  • 问题内容: 我正在尝试像这样从C#向我的数据库中插入一个空值: DBNull.Value是日期可以在的地方,但我希望它等于null,但它似乎将默认日期设置为1900 … 问题答案: 改成: 返回空字符串,但您希望改为null。 但是,这种构建查询的方式可能会导致问题。例如,如果您的字符串之一包含引号’,则结果查询将引发错误。更好的方法是使用参数并在SqlCommand对象上进行设置:

  • 原因:com。微软sqlserver。jdbc。SQLServerException:无法将值NULL插入表ECM3的“白色列表”列中。dbo。白名单;列不允许空值。插入失败。 我已经为我的问题做了很多搜索,我尝试了所有可能的解决方案,但都不起作用。我试图使用关系为的父表(白名单)插入子表(白名单匹配),但它显示了前面的错误! 白名单。java(父级) WhiteListMatches.java(

  • 问题内容: Mapper.xml(映射器xml文件) Employee.java Emp.java TestDAO.java Main.java 我得到的异常是: 问题答案: Mapper.xml 这就是查询应该在Mapper xml中出现的方式

  • Mapper.xml(映射器xml文件) Employee.java