我在PHP中的更新脚本无法正常工作并且未显示错误

时间:2019-01-03 17:08:54

标签: php

我正在用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”,这表示没有错误。

2 个答案:

答案 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。