php 表中的数据未修改[已关闭]

camsedfj  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(134)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
2天前关闭。
这篇文章是编辑和提交审查2天前。
Improve this question
我试图通过表单修改表中的数据,但数据从未被修改。当按下.“edit-cita”时,数据显示在表单中,发送“#editar-cita”表单修改数据。我想实现的是,当我发送表单时,修改表中的数据。
MYSQL语言
“引文”表包含:身份信息(PK)、身份用户(FK)、身份信息、动机信息
PHP-citas.php

<form class="form" id="editar-cita">
                  <input type="hidden" id="idCita" />
                  <div class="form-label">
                    <input type="date" id="edit-fecha" placeholder="Fecha" class="form-control mb-3" />
                    <input type="text" id="edit-motivo" class="form-control mb-3" placeholder="Motivo de la cita">
                  </div>
                  <button type="submit" class="btn btn-success col-12 text-center">
                    Modificar cita
                  </button>
                </form>
              <button class="nueva-cita btn btn-dark w-100 mt-3">
                  Nueva cita
              </button>

AJAX

// collects data from the inputs to modify the data

$("#editar-cita").submit((e) => {
    e.preventDefault(e);
    const postData = {
      idCita: $("#idCita").val(),
      fecha: $("#edit-fecha").val(),
      motivo: $("#edit-motivo").val(),
    };
    $.post("modificarCita.php", postData, () => {
      // console.log(postData) correctly displays what has been sent from the form 
      $("#editar-cita").trigger("reset");
      userCitas();
    });
  });

PHP -数据库扩展(修改数据)

<?php

include('./DB.php');

session_start();

    if (isset($_POST['idCita'])) {

        $idCita = $_POST['idCita'];
        $fecha = $_POST['fecha'];
        $motivo = $_POST['motivo'];

        $conexion = DB::conn();
        $sentencia = "UPDATE citas SET fecha_cita = new_fecha_cita, motivo_cita = :new_motivo_cita WHERE idCita = :idCita";
        $consulta = $conexion->prepare($sentencia);
        $consulta->bindParam(':idCita', $idCita);
        $consulta->bindParam(':new_fecha_cita', $fecha);
        $consulta->bindParam(':new_motivo_cita', $motivo);
        $consulta->execute();

        $consulta->closeCursor();
        $conexion = null;
    }
cngwdvgl

cngwdvgl1#

表中的数据未被修改的原因可能有以下几种。您可以尝试以下几种方法来解决此问题:
1.确保modificarCita. php脚本确实被AJAX请求调用。你可以在脚本中添加一些调试语句来检查它是否正在执行。
1.检查MySQL错误日志,查看在执行UPDATE语句时是否抛出任何错误。可以通过运行以下命令来执行此操作:tail -f /var/log/mysql/error.log.
1.确保在UPDATE语句中使用了正确的idCitafechamotivo参数值。可以向modificarCita.php添加一些调试语句,以打印出这些变量的值,从而确保正确设置这些变量。
1.确保citas表的结构正确,并且包含所需的列(idCita, idUser, fecha_cita, motivo_cita)。您可以通过运行以下MySQL命令来检查表结构:DESCRIBE citas.
1.确保用于连接数据库的MySQL用户具有更新citas表所需的权限。可以通过运行以下MySQL命令来检查用户的权限:SHOW GRANTS FOR user@localhost;,其中user是用户的名称。

相关问题