dreamer1231 2017-11-29 13:43
浏览 9
已采纳

PHP MySQLi - 在一个进程中使用某个公式更新多个数据

How to update many rows in a mysqli table? Here my table (tbmath)

|id | code    |a   | b | c   |
| 1 |  1      |11 | 11 |     |
| 2 |  1      |12 | 22 |     |
| 3 |  1      |13 | 33 |     |
| 1 |  2      |11 | 11 |     |
| 2 |  2      |12 | 22 |     |
| 3 |  2      |13 | 33 |     |

... Code is for the operation rules Code 1 = a + b; Code 2 = a x b;

Im try'n to update c with code = 1 first, but i have the wrong result, hope somebody can help me to fix this code or give me the right why to solve the problem. Here my code :

<?php
 $db_host="localhost";
 $db_user="root";
 $db_pass="";
 $db_database="test";
 $con = new 
 mysqli($db_host,$db_user,$db_pass,$db_database);

 $sql=mysqli_query($con,"SELECT * FROM tbmath 
 WHERE code = 1");
 while ($a=mysqli_fetch_assoc($sql)) 
{
    $c=$a['a']+$a['b'];
    mysqli_query($con,"UPDATE `tbmath` SET `c` = '$c' 
    WHERE `code` = 1");
}
 ?>

The result is :

|id | code    | a | b  | c |
| 1 |  1      |11 | 11 |46 |
| 2 |  1      |12 | 22 |46 |
| 3 |  1      |13 | 33 |46 |
| 1 |  2      |11 | 11 |   |
| 2 |  2      |12 | 22 |   |
| 3 |  2      |13 | 33 |   |

My code just calculating the last result 13 + 33.

What's the right PHP code for my case ? I hope somebody can help me...

  • 写回答

2条回答 默认 最新

  • dtfo55908 2017-11-29 13:51
    关注

    You must use id field param in your where criteria, not code field. Because you getting code equals 1 data set.

    $db_host="localhost";
     $db_user="root";
     $db_pass="";
     $db_database="test";
     $con = new 
     mysqli($db_host,$db_user,$db_pass,$db_database);
    
     $sql=mysqli_query($con,"SELECT * FROM tbmath 
     WHERE code = 1");
     while ($a=mysqli_fetch_assoc($sql)) 
    {
        $c=$a['a']+$a['b'];
        mysqli_query($con,"UPDATE `tbmath` SET `c` = '$c' 
        WHERE `id` = $a['id']");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建