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