是否可以使用多维数组插入记录?

时间:2012-05-07 18:15:18

标签: php

情景是

我想插入一条这样的记录:

首先,我有一个我需要插入的数据字段的数组

 $field = Array ( [0] => Email [1] => Name ) 

其次,我有一组邮件

$mail = Array ( [0] => a@a.com [1] => foodil@g.com )

最后,我有一个名为

的多维数组
$set = Array ( [1] => Array ( [1] => leo [4] => NULL ) ) 

但是,它可以是多个字段, 例如。它也可以有一个电话领域(还有地址,编码......等等),然后它将是:

   $field = Array ( [0] => Email [1] => Name  [2] => Phone ) 

   $set = Array ( [1] => Array ( [1] => leo [4] => NULL )  [5] => Array ( [1] => 4343343 [4] => 3453343 )) 

问题是,如何插入这样的场景? : 查询应该如下所示

$query="INSERT INTO subscriber (Email,Name,Phone) VALUES ($mail[] , $set[][], $set[][])";

2 个答案:

答案 0 :(得分:0)

您可以使用serialize()和unserialize(相反)将多维数组存储到mysql中

答案 1 :(得分:0)

为什么不简单地为每个订阅者插入一条记录?如果数据库上的字段为NOT-NULL,则可以插入默认值。但是,我会使用json_encode()而不是serialized(),这将使用json解析器维护其他语言的数据读取。