如何将多个变量数组添加到数据库
How to add multiple variable array to database
我想将我的数据插入数据库,我有两个具有数组数据的变量。
例如 $_POST['link']
<= 数组数据,$_POST['nama_link']
<= 数组数据并且 $id_baru
<= 不是数组。
这是我能做的
$prep = array();
foreach($_POST['link'] as $v ) {
$prep[] = "($id_baru, $v)";
}
$add_link = $db->prepare("INSERT INTO link_relation (`id_e_lr`,`link_lr`) VALUES " . implode(', ', $prep));
$add_link = $add_link->execute($prep);
上面的代码只添加了 $_POST['link']
和 $id_baru
我必须做的才能在上面插入 $_POST['nama_link']
。
我的table
id_e_lr link_lr nama_link_lr
======== ========= ==============
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
如果使用准备语句,则不能直接将数组绑定到数据库列。
你必须这样做:
$stmt->bind_param("sss", $var1, $var2, $var3);
foreach ($_POST['link'] as $i) {
$var1 = $i['key1'];
$var2 = $i['key2'];
$var3 = $i['key3'];
$stmt->execute();
}
其中 keyN 是您在 $_POST 中的索引。
使用第一次数组迭代的键从 $_POST['nama_link']
中获取值并将其添加到插入值中。
也尝试正确使用prepared statement
概念。
按如下操作:-
$stmt = $db->prepare("INSERT INTO link_relation (`id_e_lr`,`link_lr`,`nama_link_lr`) VALUES (:id_baru, :v, :link)");
foreach ($_POST['link'] as $key=>$v){
if(isset($_POST['nama_link'][$key])){
$link = $_POST['nama_link'][$key];
}
$stmt->execute(array(
':id_baru' => $id_baru,
':v' => $v,
':link' => $link,
));
}
我想将我的数据插入数据库,我有两个具有数组数据的变量。
例如 $_POST['link']
<= 数组数据,$_POST['nama_link']
<= 数组数据并且 $id_baru
<= 不是数组。
这是我能做的
$prep = array();
foreach($_POST['link'] as $v ) {
$prep[] = "($id_baru, $v)";
}
$add_link = $db->prepare("INSERT INTO link_relation (`id_e_lr`,`link_lr`) VALUES " . implode(', ', $prep));
$add_link = $add_link->execute($prep);
上面的代码只添加了 $_POST['link']
和 $id_baru
我必须做的才能在上面插入 $_POST['nama_link']
。
我的table
id_e_lr link_lr nama_link_lr
======== ========= ==============
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
$id_baru `$_POST['link'] $_POST['nama_link']
如果使用准备语句,则不能直接将数组绑定到数据库列。
你必须这样做:
$stmt->bind_param("sss", $var1, $var2, $var3);
foreach ($_POST['link'] as $i) {
$var1 = $i['key1'];
$var2 = $i['key2'];
$var3 = $i['key3'];
$stmt->execute();
}
其中 keyN 是您在 $_POST 中的索引。
使用第一次数组迭代的键从 $_POST['nama_link']
中获取值并将其添加到插入值中。
也尝试正确使用prepared statement
概念。
按如下操作:-
$stmt = $db->prepare("INSERT INTO link_relation (`id_e_lr`,`link_lr`,`nama_link_lr`) VALUES (:id_baru, :v, :link)");
foreach ($_POST['link'] as $key=>$v){
if(isset($_POST['nama_link'][$key])){
$link = $_POST['nama_link'][$key];
}
$stmt->execute(array(
':id_baru' => $id_baru,
':v' => $v,
':link' => $link,
));
}