Mysqli没有更新

时间:2015-11-25 00:44:04

标签: php mysqli

我正在尝试在选择几个选项并提交(使用isset)后更新数据库。页面在数据库查询后显示一些信息,然后我必须根据所选选项更新数据库。 如果我在函数“actualizarEstado”中运行完全相同的查询但在第三页上运行,那么它可以工作。我究竟做错了什么?我无法理解。试图杀死并关闭第一个连接,但我得到了相同的结果。谢谢你的建议!

<?php

include '00-conexion.php';

$data = extract($_GET);

$sql = "SELECT * FROM inscripciones WHERE nroInscripcion = $sel";

$retval = mysqli_query($conexion, $sql);
$fila = mysqli_fetch_array($retval);


if(isset($_POST['ejecutar'])){
    actualizarEstado($sel);
}

function actualizarEstado($sel){
    $estado =  $_POST['estado'];

    $sql2 = "UPDATE inscripciones SET revision1='',
        revision2='',
        revision3='',
        revision4='',
        revision5='',
        revision6='',
        revision7='',
        revision8='',
        revision9='',
        estado='$estado'
        WHERE nroInscripcion = $sel";

    if (!mysqli_query($conexion, $sql2)) {
        die('Error: ' . mysqli_error($conexion));
    }
}

?>

<form method="post" action="">
        <tr><td><select name="estado" from="estado">
            <option value="aceptado">Aceptar</option>
            <option value="rechazado">Rechazar</option>
            <option value="revision">En revision</option>
        </tr/></td>
        <tr><td><input type="submit" value="Actualizar" name="ejecutar" onclick="return confirm('¿Estás seguro que deseas?')" /></tr></td>
</form>

1 个答案:

答案 0 :(得分:0)

我认为你必须通过函数传递$ connexion变量!

这样做:

function actualizarEstado($myConnection,$sel){
    $estado =  $_POST['estado'];

    $sql2 = "UPDATE inscripciones SET revision1='',
    revision2='',
    revision3='',
    revision4='',
    revision5='',
    revision6='',
    revision7='',
    revision8='',
    revision9='',
    estado='$estado'
    WHERE nroInscripcion = $sel";

    if (!mysqli_query($myConnection, $sql2)) {
        die('Error: ' . mysqli_error($myConnection));
    }
}

并调用函数: actualizarEstado($connexion,$sel);