【问题标题】:No error when inserting values from drop down but won't insert从下拉列表插入值时没有错误但不会插入
【发布时间】:2015-01-21 18:56:20
【问题描述】:

我有一个下拉循环,当我尝试从下拉列表中选择一个数字时,它会回显。但是当我插入它时,它不会执行或不会显示在数据库中。但是当我将 $_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();   

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    这应该是因为您将 DB 字段定义为 INT。 试试下面的代码:

    $x = (int)$POST['category'];
    

    【讨论】:

      【解决方案2】:

      在你写$adviser=$_SESSION['user_id'];之前你应该使用session_start();

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

      【讨论】:

        猜你喜欢
        • 2015-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        • 1970-01-01
        • 2018-06-20
        • 2021-12-07
        • 2017-05-03
        相关资源
        最近更新 更多