如何在数据库中插入数组作为一行,每个元素之间用逗号

时间:2015-07-13 11:43:01

标签: php mysql

如何将数组插入一行数据库中

    prod_id | user_id | quantity 
    1111    | 5       | 123
    1234    | 5       | 11
    234     | 5       | 1

如果我有这个表并想为每个用户选择prod_id并将其插入另一个表中

    prodid          qun        userid
    1111,1234,234   123,11,1     5

我如何得到这个结果?

我尝试使用json,但它返回了一个数组并且没有存储在数据库中。

<?php
    $sql = "select * from cart where userid=5";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result)){
    $prodid = $row['proid'];
    $qun = array($row['qun']);
    $prod[] = array('prodid' => $prodid);
    $quantity[]=array('$qun' => $data);
    }
    $quntatity= json_decode(json_encode($qun ));
    $products= json_decode(json_encode($prod));
    $sql = "insert into products( userid,products ,quantity) values('5',$products','$quntatity')";
    mysql_query($sql) or die(mysql_error()) ;


?>

1 个答案:

答案 0 :(得分:0)

使用GROUP_CONCAT解决此问题

   $sql ="SELECT GROUP_CONCAT(prodid SEPARATOR ', '),GROUP_CONCAT(quantity SEPARATOR ', '),userid
    FROM cart where Userid=5 GROUP BY userid;"