我在数组中插入数据,称为以下内容:
["Levels_SanctionLevel_array"]=>
string(14) "IR01,IR02,IR03"
我需要爆炸这些数据并将每个值作为mysql内的一行输入。如
pri_id value
---------------
01 IR01
02 IR02
03 IR04
现在我遇到困难的是: 上面列出的数组可以有1个值,3个值(现在我显示三个值)或5个值,我不想在我的数据库中输入NULL值。 感谢任何人可以分享的任何指导...
答案 0 :(得分:3)
$data = explode(',',$your_string);
foreach ($data AS $value) {
// INSERT INTO DB
}
答案 1 :(得分:0)
为什么不在数组上使用迭代器来构造sql查询?这样,您只会在数组中插入尽可能多的元素。
就像上面的答案一样。我想我们正在同时回答。
答案 2 :(得分:0)
假设您的主要数组是$data
:
foreach ($data as $values)
{
$value = explode(",", $values);
foreach ($value as $v)
{
$sql = "INSERT INTO table(value) VALUES('$v')";
}
}
答案 3 :(得分:0)
一个简单的循环正常工作,但缺点是对数据库进行多次查询:
$str = "IR01,IR02,IR03";
$vals = explode(',', $str);
foreach ($vals AS $value) {
// insert into database
}
由于数据库操作比在PHP中构建查询更重要,我会选择为单个查询生成SQL代码,如下所示:
$str = "IR01,IR02,IR03";
$vals = explode(',', $str);
$query = 'INSERT INTO my_data VALUES ';
foreach ($vals as $value) {
$query .= "('', '".$value."'),";
}
$query = rtrim($query, ',');
// insert into database