2017-04-02 173 views
-2

我不知道如何将数组数据存储在数据库中,我只知道读取和显示数据。任何建议或歧视是确定我,因为我没有得到的逻辑和我是一个菜鸟新手和如何将数组值存储在MySQL数据库中

<?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表user_cart

| - - - - - - | - - - - - - - - - - - - |
| cart_id | product_name |
| - - - - - - | - - - - - - - - - - - - |
| - - -1 - - | - - - 色氨酸1 - - - |
| - - -2 - - | - - 模板2 - - - |
| - - - - - - | - - - - - - - - - - - - |

输出我要的是Laptop1,Laptop2

店tbl_orders

| - - - - - - - | - - - - - - - - - - - - - - - |
| order_id | - - - 产品 - - - - - |
| - - - - - - - | - - - - - - - - - - - - - - - |
| - - -1 - - - | - Laptop1,Laptop2 - |
| - - - - - - - | - - - - - - - - - - - - - - - |

对不起,我不知道如何做桌子这里

+0

用于存储阵列,您对序列化将其保存在一个字段或单值存储在不同的领域。 – David

回答

0

我不知道我理解你的问题。你问如何从数组中插入数据到你的表的多行?为此,您只需创建多个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); 
} 
+0

将它作为一个插入我的表中的数据 –

+0

哦,所以你想要多个值存储在单个字段?没有内置的方法来做到这一点,你必须决定你想要的格式。您可以使用implode()函数从数组中创建一个分隔列表并存储该列表,或使用serialize()函数自动从中创建一个更健壮但不易读的字符串。 – IceMetalPunk

+0

这几乎解决了我的问题,但我得到Laptop1,Laptop2,Laptop1,Laptop2?我用implode(); –

0

该功能用于插入这里https://stackoverflow.com/a/36190690/6106973多行同样的问题。

您必须传递第一个参数作为表名,第二个关联数组的名称作为键的列,如$ 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); 

} 
相关问题