source

pph 배열을 mariadb 동적 열에 저장

factcode 2023. 9. 16. 09:55
반응형

pph 배열을 mariadb 동적 열에 저장

저는 이런 배열이 있습니다.

   $test = array(
        'Subscription' => '1',
        'Streaming' => '1',
        'Download' =>  '0'
    )

그래서 mariaDB로 업데이트하는 동안

  $query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $test . ') where id = 1';
  $this->Model->query($query);

배열을 이런 식으로 저장합니다.('Subscription',1,'Streaming',1,'Download',0)

무슨 제안이라도 있습니까?

다음을 시도해 볼 수 있습니다.

<?php

$test = array(
        'Subscription' => '1',
        'Streaming' => '1',
        'Download' =>  '0'
);

$data = '';
foreach($test as $key=>$value)
{
    $data .= '"'.$key.'"'.', '.$value.', ';
}

$data = rtrim($data,', ');

$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $data . ') where id = 1';

문제가 해결되기를 바랍니다.

array_map의 조합을 사용할 수 있으며 이를 위해 implode를 사용할 수 있습니다.

$test = array(
        'Subscription' => '1',
        'Streaming' => '1',
        'Download' =>  '0'
    );
$list = implode(',', array_map(function ($v, $k) { return "'".$k."'" . ',' . $v; }, $test, array_keys($test)));


$query = 'UPDATE table_1 set category_dynamic = COLUMN_CREATE(' . $list . ') where id = 1';
$this->Model->query($query);

언급URL : https://stackoverflow.com/questions/32606454/saving-php-array-to-mariadb-dynamic-colum

반응형