php update ,更新一些值双倍

标签 php mysql mysqli

我有一张大 table ,上面有白天和晚上的工作时间。 由于某种原因,某些值会像 valuex2 一样更新,为什么?

我的代码:

    if ($source=='editEmployeeHours') {

    $object=htmlentities($_POST['object'], ENT_QUOTES, "UTF-8");
    $period=htmlentities($_POST['period'], ENT_QUOTES, "UTF-8");
    $m=htmlentities($_POST['m'], ENT_QUOTES, "UTF-8");  
    $y=htmlentities($_POST['y'], ENT_QUOTES, "UTF-8");
    $date=htmlentities($_POST['date'], ENT_QUOTES, "UTF-8");    
    $records=htmlentities($_POST['records'], ENT_QUOTES, "UTF-8");
    include('inc/s.php'); 
$g = null;      
while ($g <= $records){
$g++;
$edithoursday = $personday = $day = null;
    $edithoursday=htmlentities($_POST['edithoursday'][$g], ENT_QUOTES, "UTF-8");
    $personday=htmlentities($_POST['personday'][$g], ENT_QUOTES, "UTF-8");
    $day=htmlentities($_POST['day'][$g], ENT_QUOTES, "UTF-8");

    if($edithoursday!=''){
                $resultd = mysqli_query($conn,"SELECT * FROM timesheets WHERE day='".$day."' AND person_code = '".$personday."' AND object_id = '".$object."' AND period_code='".$period."' AND type='0'");
                if (!$resultd){die("Attention! Query to show fields failed.");}
    if (mysqli_num_rows($resultd)!=0){  
                $queryied = "UPDATE timesheets SET value='".$edithoursday."' WHERE day='".$day."' AND person_code = '".$personday."' AND object_id = '".$object."' AND period_code='".$period."' AND type='0'";
                mysqli_query($conn, $queryied); 
         }
    }
}

        header("Location: "home");
        die(0);

    }

为了更新夜间时间,我有相同的代码,但是 有夜晚变量 有什么我看不到的问题吗?

我对长代码表示歉意!

最佳答案

运行这段代码,可能你自己会发现错误

if ($source == 'editEmployeeHours')
{

    $object  = htmlentities($_POST['object'], ENT_QUOTES, "UTF-8");
    $period  = htmlentities($_POST['period'], ENT_QUOTES, "UTF-8");
    $m       = htmlentities($_POST['m'], ENT_QUOTES, "UTF-8");
    $y       = htmlentities($_POST['y'], ENT_QUOTES, "UTF-8");
    $date    = htmlentities($_POST['date'], ENT_QUOTES, "UTF-8");
    $records = htmlentities($_POST['records'], ENT_QUOTES, "UTF-8");
    include('inc/s.php');
    $g       = null;
    echo "<pre>";
    while ($g <= $records)
    {
        echo "<br><br>---------------------------------------<br><br>";
        $g++;
        $edithoursday = $personday    = $day          = null;
        $edithoursday = htmlentities($_POST['edithoursday'][$g], ENT_QUOTES, "UTF-8");
        $personday    = htmlentities($_POST['personday'][$g], ENT_QUOTES, "UTF-8");
        $day          = htmlentities($_POST['day'][$g], ENT_QUOTES, "UTF-8");

        echo "<pre>";
        print_r(array('edithoursday' => $edithoursday, 'personday' => $personday, 'day' => $day));
        echo "</pre>";
        if ($edithoursday != '')
        {
            $q = "SELECT * FROM timesheets WHERE
            day='" . $day . "' AND
            person_code = '" . $personday . "' AND
            object_id = '" . $object . "' AND
            period_code='" . $period . "' AND
            type='0'";

            echo "<pre>";
            echo $q;
            echo "</pre>";

            $resultd = mysqli_query($conn, $q);
            if (!$resultd)
            {
                die("Attention! Query to show fields failed.");
            }
            if (mysqli_num_rows($resultd) != 0)
            {
                $queryied = "UPDATE timesheets SET "
                    . "value='" . $edithoursday . "' "
                    . "WHERE "
                    . "day='" . $day . "' AND "
                    . "person_code = '" . $personday . "' AND "
                    . "object_id = '" . $object . "' AND "
                    . "period_code='" . $period . "' AND "
                    . "type='0'";
                echo "<pre>";
                echo $queryied;
                echo "</pre>";
                mysqli_query($conn, $queryied);
            }
        }
    }
    echo "</pre>";
    header("Location: home");
    die(0);
}

关于php update ,更新一些值双倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40359393/

相关文章:

php - 两台服务器访问同一个数据库

php - 将日期插入 MySql 数据库时遇到问题

MySQL 专门的删除条件

php - 如何使用call_user_func_array调用mysqli_stmt?

php - 使用 MySQLi 时如何防止 SQL 注入(inject)

php - Laravel Eloquent 在哪里替换和比较

php - 需要在php中重建一个基于mysql的用户/组织/出版物位置搜索目录。 Laravel 适合这个吗?

php - 在WAMP服务器中将存储引擎从InnoDB更改为MYISAM

php - mysql_real_escape_string & 斜杠

php mysql while循环不显示第一行