duanhao7786 2016-09-02 05:15
浏览 38
已采纳

如何从表单字段更新多个mysql行

Hello i am creating a form where i can update multiple rows in my database

first of all i have a form with a field name "pol", this should carry multiple values as declared below using "[]"

 <form action="snooze.php" name="frm" method="post">
<input type="checkbox" name="pol[]" value="<?php echo $row_cert['Policy_Number']; ?>">

</form>

This multiple values, i have been able to display using a for each loop

<?php 
if (isset($_POST['pol'])) 
{
    $hobby = $_POST['pol'];


   foreach ($hobby as $hobys=>$value) {
           echo "".$value."<br /><br />";
        }
}
?>

but now i am trying to use this multiple values passed in the for each loop in a where clause to update multiple rows in my database, but it only passes 1 value instead of multiple values as the above code does when echo.

this is what i have tried

<?php
   if (isset($_POST['pol'])) 
{
$db = new mysqli('localhost', '---', '----', '----');
if ($db->connect_error) {
    die("Connect Error: " .$db->connect_error); //TODO: better error handling
}
 $hobby = $_POST['pol'];
 foreach ($hobby as $hobys=>$value) {
$sql = "UPDATE check_niid
           SET niid_status = 'Successful'
         WHERE Policy_Number = '$hobby[$hobys]'";
}
if (!$db->query($sql)) {
    die("Update failed. Error: " .$db->error); //TODO: better error handling
}
}
?>

please what could i be doing wrong here, my aim is to be able to update multiple rows using the where clause

  • 写回答

1条回答 默认 最新

  • douye1876 2016-09-02 05:18
    关注

    your query execution is in out side the foreach so . $sql variable overwrite by multiple times and final array value only set in $sql . that only executed once in your query so .it should be inside the foreach loop

    foreach ($hobby as $hobys=>$value) {
    $sql = "UPDATE check_niid
           SET niid_status = 'Successful'
         WHERE Policy_Number = '$hobby[$hobys]'";
    
     if (!$db->query($sql)) {
    die("Update failed. Error: " .$db->error); //TODO: better error handling
        }
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入