mysql表中包含sql update column的数组到列行

j5fpnvbx  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(369)

我有一个叫奥尔马利的数组

$olmali = $_POST['result'];

print_r($olmali);

结果如下:

Array ( 
    [0] => 1
    [1] => 1
    [2] => 20
    [3] => 2 
    [4] => 3
    [5] => 5
    [6] => 6 
    [7] => 7 
    [8] => 9 
    [9] => 8 
    [10] => 10
    [11] => 11
    [12] => 13
    [13] => 12 
    [14] => 12
    [15] => 14 
    [16] => 15
    [17] => 16
    [18] => 17
    [19] => 17
    [20] => 19
    [21] => 20
)

我想使用sql update命令,我希望:

id        test
1          1
2          1
3          20
4          2
5          3
6         ....and goes on

如何解决这个问题?有没有办法,我怎么做。php数组到mysql表中的列行

k97glaaz

k97glaaz1#

我建议从结尾开始 for 循环并用一个值重新分配每个键 +1 . 然后,您只需使用 unset() . 请参见下面的代码。

$olmali = [
  0 => 1,
  1 => 1,
  2 => 20,
  3 => 2,
  4 => 3,
  5 => 5,
  6 => 6,
  7 => 7,
  8 => 9,
  9 => 8,
  10 => 10,
  11 => 11,
  12 => 13,
  13 => 12,
  14 => 12,
  15 => 14,
  16 => 15,
  17 => 16,
  18 => 17,
  19 => 17,
  20 => 19,
  21 => 20
];

for($i = count($olmali); $i > 0; $i--) {
  $olmali[$i] = $olmali[$i - 1];
}

unset($olmali[0]);

print_r($olmali);

输出:

Array ( [1] => 1 [2] => 1 [3] => 20 [4] => 2 [5] => 3 [6] => 5 [7] => 6 [8] => 7 [9] => 9 [10] => 8 [11] => 10 [12] => 11 [13] => 13 [14] => 12 [15] => 12 [16] => 14 [17] => 15 [18] => 16 [19] => 17 [20] => 17 [21] => 19 [22] => 20 )
2nc8po8w

2nc8po8w2#

假设

$myArray = array ( 
        [0] => 1
        [1] => 1
        [2] => 20
        [3] => 2 
        [4] => 3
        [5] => 5
        [6] => 6 
        [7] => 7 
        [8] => 9 
        [9] => 8 
        [10] => 10
        [11] => 11
        [12] => 13
        [13] => 12 
        [14] => 12
        [15] => 14 
        [16] => 15
        [17] => 16
        [18] => 17
        [19] => 17
        [20] => 19
        [21] => 20
    );

一旦使用pdo建立了db连接,就准备绑定并执行

$stmt = $conn->prepare("Update my_tabe 
            set my_column  = :my_value 
            where my_id_comn  = :my_id +1" );
$stmt->bindParam(':my_value', $value);
$stmt->bindParam(':my_id', $key);

foreach ($myArray as $key => $value){
      $stmt->execute();
}

相关问题