php - 更新数据库时缺少参数错误

标签 php html mysql

<分区>

这里我试图通过模态弹出表单将文本区域和隐藏字段的值传递给 php。

我有一个包含产品ID的隐藏字段,文本区域包含一些文本。当我点击提交按钮时,它应该被传递给 php 并在数据库中更新。 当我填写表格并单击提交时出现错误

Notice: Undefined variable: prod_id 

Warning: Missing argument 1 for updateProduct()

html

<div class="modal fade" id="rejectModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Are you sure to reject this product?</h4>
      </div>
      <div class="modal-body">
       <h4>Why do you want to reject this product!</h4>
       <form action="product-reject.php" method="get"  role="form" enctype="multipart/form-data">
       <?php
       echo '<input type="hidden" class="form-control" name="product_id" id="user_role" value="'.$qs.'">';
       echo '<textarea cols="43" rows="5" class="reject-textarea" name="reject_reason"></textarea>';
       ?>                 
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <input type="submit" class="btn btn-primary" value="OK">
      </div>
      </form>
    </div>
  </div>
</div>

PHP

<?php 
    require_once('configuration.php');
    $product_id = $_GET['product_id'];
    $reject_for = $_GET['reject_reason'];    

            if (isset($product_id,$reject_for)){  
                rejectProduct($product_id,$reject_for);
            } else {  
                echo "Are you trying to do something nasty??";
            }

            function rejectProduct($product_id,$reject_for)
            {
                $conn = new mysqli(db_host, db_user, db_password, db_name);
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                } 
                $sql = "INSERT INTO rejected_products(product_id,reason_to_reject) VALUES ($product_id,'$reject_for')";
                $result = $conn->query($sql);
                if ($conn->query($sql) === TRUE) {
                    updateProduct($prod_id);        
                } else {
                    echo "Error updating record: " . $conn->error;
                }
                $conn->close(); 
            }


            function updateProduct($prod_id)
            {
                $conn = new mysqli(db_host, db_user, db_password, db_name);
                if ($conn->connect_error) {
                    die("Connection failed: " . $conn->connect_error);
                } 
                $sql = "UPDATE list SET product_publish_status = '2' WHERE product_id = '$prod_id'";    
                $result = $conn->query($sql);
                if ($conn->query($sql) === TRUE) {
                    updateProduct();
                    header("Location: index.php");
                } else {
                    echo "Error updating record: " . $conn->error;
                }
                $conn->close(); 
            }
?>

我该如何解决这个问题?

最佳答案

$prod_id 在您的 php 代码中未定义。

如果您希望将产品 ID 作为参数传递,则替换

updateProduct($prod_id); 

updateProduct($product_id);

关于php - 更新数据库时缺少参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563319/

相关文章:

php 调用存储过程并出现 pdo 问题

php - 如何使用我的php变量UserNameID删除数据库中用户的行

html - 如何设置具有两个区域的 BorderContainer?

javascript - 第二行无法在 php 中更新

php - 无法将视频从flutter上传到服务器php?

php - laravel 注册不更新 mysql 中的用户表

python - 尝试将网页中的JS数据输出到.html输出文件中

html - 如何实现显示:table div with additional,合并行?

mysql - 如何将图像存储在文件系统文件夹中及其在数据库中的路径?

php - Laravel Bootstrap 4 Modal - 在带有 AJAX 调用数据的点击事件上显示模态