数据库表未更新,但正在执行查询,并且正在回显文本框中的数据


database table isn't getting updated but query is getting executed and data in the textbox is being echoed

>我有一个页面,它包含一个html表,其中包含在php函数的帮助下从数据库中检索的数据。表中的一列是编辑按钮。单击编辑按钮后,它将导航到更新表单页面。我的数据库中的行是para_id=是参数编号,id=用户ID,parameter_no=行ID,para_date,para_time,读取,类型

进度.php(表格页)

<?php
         if(!$blood_pressure) { 
            echo '<td><h4>Nothing To Display. Add In Details<h4><td>'; 
                               }                                                       
         else {
           foreach ($blood_pressure as $single) {
            echo "<tr>";
               echo "<td>$single[para_date]</td>";
               echo "<td>$single[para_time]</td>";
               echo "<td>$single[reading] $single[type]</td>";
               echo "<td><form action='updatepressure.php' method='GET'><input type='hidden' name='edit' value='$single[parameter_no]'><input type='submit' value='Edit' class='btn btn-primary' onclick='updatepressure.php'></form></td>";
              echo "</tr>";
             }
           }
   ?>

更新压力.php (更新页面)

if(isset($_POST['submit']))
        {
              $_edit=print_r( $_GET['edit']);
              $para_date = print_r($_POST['para_date']);   
              $para_time = print_r($_POST['para_time']);         
              $reading = print_r($_POST['reading']);
              $type = print_r($_POST['type']);
              //$parameter_no = print_r($_POST['edit']);


               global $conn;
  if ($stmt = $conn->prepare("UPDATE `tracking_para` SET `para_date`=?,`para_time`=?,`reading`=?,`type`=? WHERE `parameter_no`=$_edit ")) echo "hi";

             {
    $stmt->bind_param("ssss", $para_date, $para_time, $reading, $type);
    $stmt->execute();
    $result = $stmt->execute();
}
}
    ?>

idk我错了。

你确定要把print_r()的输出插入到你的数据库中吗?

如果是这样,这里的问题是您没有为调用print_r()设置$output参数。此参数默认为 false,因此它不会返回您希望插入到数据库中的字符串。

将代码更新为如下所示:

if(isset($_POST['submit']))
        {
              $_edit=print_r( $_GET['edit'],true);
              $para_date = print_r($_POST['para_date'],true);   
              $para_time = print_r($_POST['para_time'],true);         
              $reading = print_r($_POST['reading'],true);
              $type = print_r($_POST['type'],true);
              //$parameter_no = print_r($_POST['edit'],true);
              ...

您使用 POST

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

但使用 GET 发送数据

echo "<td><form action='updatepressure.php' method='GET'><input type='hidden' name='edit' value='$single[parameter_no]'><input type='submit' value='Edit' class='btn btn-primary' onclick='updatepressure.php'></form></td>";

这样就行不通了..

尝试在所有代码部分中使用 POST