Php 如何在MySQL数据库中存储数组值

Php 如何在MySQL数据库中存储数组值,php,sql,arrays,Php,Sql,Arrays,我不知道如何在数据库中存储我的数组数据,我只知道获取和显示数据。任何建议或歧视对我来说都是可以的,因为我不懂逻辑,我是个新手 <?php $cart_statement = "SELECT * FROM user_cart WHERE email = '$email'"; $cart_res = mysqli_query($con,$cart_statement); $storeArray = Array(); $cart_num = mysqli_

我不知道如何在数据库中存储我的数组数据,我只知道获取和显示数据。任何建议或歧视对我来说都是可以的,因为我不懂逻辑,我是个新手

    <?php
    $cart_statement = "SELECT * FROM user_cart WHERE email = '$email'";
    $cart_res = mysqli_query($con,$cart_statement);
    $storeArray = Array();
    $cart_num = mysqli_num_rows($cart_res);
    while ($cart_row = mysqli_fetch_array($cart_res)) {
        echo $storeArray[] =  $cart_row['product_name'].",";
    }
    ?>

mysql表用户购物车

|-——————————————————————————
|购物车标识|产品名称|
|————————————————————————
|-————————————————————————————|
|-————————————————————————————|
|-——————————————————————

我想要的输出是Laptop1,Laptop2

存储在tbl_订单中

|-——————————————————————————
|订单号-产品-
|——————————————————————————
|--1-|-Laptop1,Laptop2-|
|-————————————————————————————


对不起,我不知道如何在这里制表,我不确定我是否理解你的问题。您是否在询问如何将数组中的数据插入表的多行中?为此,您只需要创建多个
INSERT
查询,每个数组元素一个查询,并使用绑定到它们的适当数据执行查询。为此,遍历数组是最容易的

例如:

foreach ($cart_row as $value) {
    $stmt = "INSERT INTO user_cart(ProductName, Qty, Price) VALUES (?, ?, ?)";
    $stmt = mysqli_stmt_prepare($con, $stmt);
    mysqli_stmt_bind_param($stmt, "sii", $value["product_name"], $value["quantity"], $value["price"]);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_close($stmt);
}

此函数在此处插入多行相同的问题

必须将表的名称作为第一个参数传递,第二个参数传递一个关联数组,该数组将列的名称作为键,如$data=['column_name'=>$value]

这是代码,希望对您有所帮助

public function insert($table, $data)
{

    $query='INSERT INTO '.$table.' (';
    foreach($data as $key => $value)
    {
        $query .= $key.','; 
    }
    $query = substr($query, 0, -1);
    $query .= ') VALUES (';
    foreach($data as $key => $value)
    {
        $query .= ':'.$key.',';
    }
    $query = substr($query, 0, -1);
    $query .= ');';

    $insert = $this->db->prepare($query);
    $insert->execute($data);

}

要存储数组,必须将其序列化以将其保存在单个字段中,或将单个值存储在不同的字段中。将其作为一个值插入我的表dataOh,那么您希望在单个字段中存储多个值吗?没有内置的方法可以做到这一点,你必须决定自己想要的格式。您可以使用infrade()函数从数组中创建一个分隔列表并存储它,或者使用serialize()函数从中自动创建一个更健壮但可读性较差的字符串。这几乎解决了我的问题,但我得到了Laptop1、Laptop2、Laptop1、Laptop2?我使用内爆();哦,对不起,我刚才加倍了回声:)仍然是你对我很有帮助的最好回答:非常感谢:)