如何使用php mysqli更新多于99条的行

时间:2018-09-29 09:17:35

标签: php mysql mysqli sql-update

我想更新多条记录,但我没有这样做,因为该代码仅更新99行。在99行之后,它将不会更新任何内容。我不了解此代码中的问题以及我的代码中设置的限制。这是代码:

<?php
    if(isset($_POST['Submit']))
    {
    $count=count($_POST["id"]);

    for($i=0;$i<$count;$i++){

    $id= $_POST['id'][$i];
    $id2= $_POST['id2'][$i];
    $ird = $_POST['ird'][$i];
    $task_desp = $_POST['task_desp'][$i];
    $department = $_POST['department'][$i];
    $asigned = $_POST['asigned'][$i];
    $qty = $_POST['qty'][$i];
    $qty2 = $_POST['qty2'][$i];
    $persent = $_POST['persent'][$i];
    $frmdate = $_POST['frmdate'][$i];
    $todate = $_POST['todate'][$i];

    $sql="UPDATE sow2 SET id2='$id2',ird='$ird',task_desp='$task_desp', department='$department',asigned='$asigned', qty='$qty', qty2='$qty2', persent='$persent', frmdate='$frmdate', todate='$todate' WHERE id='$id'";

    $result = $con->query($sql);

    $status = "Record Updated Successfully. </br></br>";
    echo '<p style="color:#FF0000;">'.$status.'</p>';

    }
    }

    ?>

2 个答案:

答案 0 :(得分:1)

此代码不安全,您需要先防止SQL注入:

How can I prevent SQL injection in PHP?

我还建议创建事务以使其更快,更可靠。

问题可能与max_input_vars有关,这是表单变量数量的限制。 http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars

检查是否有记录,您正在尝试发送,您只能更新具有现有ID的行

答案 1 :(得分:0)

我正在使用Godaddy托管,并且Godaddy不允许提交超过90行

这是解决方法

制作.htaccess php_value max_input_vars 10000