我正在尝试更新mysql数据库,但我收到一个未定义的偏移通知错误但数据库已更新。请为此提供解决方案

时间:2017-01-26 07:20:51

标签: php

已更新!已更新!

  

注意:未定义的偏移:第8行的C:\ wamp \ www \ update1 \ update.php中的2   注意:未定义的偏移量:第9行的C:\ wamp \ www \ update1 \ update.php中的2   注意:未定义的偏移量:在第10行的C:\ wamp \ www \ update1 \ update.php中为2   注意:未定义的偏移量:第11行的C:\ wamp \ www \ update1 \ update.php中的2   注意:未定义的偏移量:第12行的C:\ wamp \ www \ update1 \ update.php中的2

已更新!

  

注意:未定义的偏移量:在第8行的C:\ wamp \ www \ update1 \ update.php中为3   注意:未定义的偏移量:第9行的C:\ wamp \ www \ update1 \ update.php中的3   注意:未定义的偏移量:第10行的C:\ wamp \ www \ update1 \ update.php中的3   注意:未定义的偏移量:第11行的C:\ wamp \ www \ update1 \ update.php中的3   注意:未定义的偏移量:第12行的C:\ wamp \ www \ update1 \ update.php中的3

已更新!

$size  = array($_POST['NO_OF_CLASSES'],$_POST['NO_OF_CLASSES_PRESENT'],$_POST['NO_OF_CLASSES_ABSENT'],$_POST['PERCENTAGE']);    
$size1 = count($size);
for($i = 0; $i<$size1;$i++) 
{
    $regno = $_POST['REGNO'][$i];
    $Noofclasses= $_POST['NO_OF_CLASSES'][$i];
    $Noofclassespresent= $_POST['NO_OF_CLASSES_PRESENT'][$i];
    $Noofclassesabsent= $_POST['NO_OF_CLASSES_ABSENT'][$i];
    $percentage= $_POST['PERCENTAGE'][$i];
    $query = "UPDATE attendancetbl SET NO_OF_CLASSES='$Noofclasses',NO_OF_CLASSES_PRESENT='$Noofclassespresent',NO_OF_CLASSES_ABSENT='$Noofclassesabsent',PERCENTAGE='$percentage' WHERE REGNO =  '$regno'";
    mysql_query($query) or die ("Error in query: $query");
    echo "<em>Updated!</em><br />";
}

2 个答案:

答案 0 :(得分:0)

这意味着您尝试访问的数组的索引未设置为示例:

$_POST['REGNO'][3] and so on. 

请在for循环和退出之前{$ 1}你的$ size数组,你会看到我在说什么

答案 1 :(得分:0)

与数组长度相比,记录数(行数)最小。因此,仅发生偏移错误。这个解决方案计算记录的数量并写一个forloop来操纵。