我正在用php做一个简单的项目,所以我做了一部分,可以修改信息,但是问题是什么没有更新信息,我认为我的代码写得很好
<?php
include("conexion.php");
$sql="UPDATE mascota SET nombre = '$_POST[nombre]', tipo_mascota = '$_POST[tipo]', raza = '$_POST[raza]', sexo = '$_POST[sexo]', nombre_dueño = '$_POST[nombre_dueño]', fecha_nacimiento = '$_POST[fecha_nacimiento]' WHERE id_mascota = '$_POST[oculto]' ";
$result = mysqli_query($link, $sql);
if (!mysqli_error()){
?>
<script>
alert("Se ingreso con total normalidad");
</script> }
<?php
}else{ ?>
<script>
alert ("Estamos en mantenimiento preventivo");
</script>
<?php } ?>
<meta http-equiv="refresh" content="0;URL=modificar.php">
我试图验证语法,但是我看到所有脚本都完美无缺,还验证了其他脚本,一切都很好。
当我按下按钮时,向窗口提交窗口,说“ Se ingreso con total normalidad”,这表示没有错误。
答案 0 :(得分:-1)
首先,您的mysqli_error()
没有$link
作为与查询链接的参数。
在下面的代码段中标记引用;
$result = mysqli_query($link, $sql);
if (!$result){
$error = mysqli_error($link);
}
快速笔记;
我建议您阅读MVC架构模式,以便构造代码。
您可以平等地阅读PHP框架; Symfony是这种情况的著名例子。
UPD: 当然,为了防止SQL注入,请阅读答案here。
答案 1 :(得分:-1)
如果您确实想在查询中看到错误,请将$ link传递给mysqli_error()。像这样:
mysqli_error($link)
注意:请确保您的列名正确,并且数据库连接正确。像这样过滤$ _POST变量也会对您有所帮助:
$nombre = filter_input(INPUT_POST, 'nombre', FILTER_SANITIZE_STRING);
根据情况,您可以应用FILTER_SANITIZE_STRING或FILTER_SANITIZE_INT。