如何在php msql中插入多行数据

时间:2018-04-04 10:31:02

标签: php mysql codeigniter

我正在构建一个php表单,用户可以在其中选择要在其帐户上提供的许多服务。

如附图所示,用户可以选择3种服务(每种服务都有名称和价格)。

如果a是用户填写表单,并且该用户选择服务1,2和3,每个服务都有自己的价格,我如何将它们插入数据库,每个服务都有自己的行?

这是我的代码 -

但它不起作用,它只插入一行包含最后一个数据。

image

public function insert_data($post_data){      
      extract($post_data);        
     if ($service_1 != '' && $service_1_price != ''){ 
        $artist_services['service_1']    =   $service_1;
        $artist_services['service_1_price']    =   $service_1_price;          
        $artist_services['uid'] = $_SESSION['user_id'];
        $this->db->insert('artist_services', $artist_services);
     }
    if ($service_2 != '' && $service__price != ''){ 
        $artist_services['service_2']    =   $service_2;
        $artist_services['service_1_price']    =   $service_2_price;          
        $artist_services['uid'] = $_SESSION['user_id'];
        $this->db->insert('artist_services', $artist_services);
     }
 }

我的问题是,如何将所有服务插入MySQL数据库,每个服务都有自己的行?

1 个答案:

答案 0 :(得分:0)

你有:

if ($service_2 != '' && $service__price != ''){

你想:

if ($service_2 != '' && $service_2_price != ''){

还有一些不合适的地方$artist_services['service_2']$artist_services['service_1_price']。但是那里应该service_2_price并不明显。数据库架构不是serviceprice而没有任何数字吗?这将是典型的;为不同的服务设置单独的列几乎肯定不是你想要的。