我在文本框中记录值,并且我使用了内爆:
<input type="text" name="log_user_id" value="
<?php
foreach ($array as $key){
$userarr[] = $key['user_id'];
}
echo implode($userarr, ",");
?>
" />
现在我想将这些值插入到我的表中,但它只读取内爆的第一个值。
到目前为止我试图这样做:
$test = implode(",",$log_user_id);
$insert ="INSERT INTO email_logs(template_id, users_id, application_id) VALUES ('" . $log_temp_id . "', '" . $test . "', '" . $log_app_id . "')";
答案 0 :(得分:0)
我可能错了,但我认为你对implode()
的作用只有一个模糊的概念。我们来看看the manual:
string implode ( string $glue , array $pieces )
使用胶水串连接数组元素。
返回包含所有数组的字符串表示形式的字符串 元素的顺序相同,每个元素之间都有胶水。
所以&#34;它只读取内爆的第一个值&#34;没有多大意义:函数的重点是将几个值组合成一个字符串。
我怀疑你想做相反的操作,explode():
$insert ="INSERT INTO email_logs(template_id, users_id, application_id)
VALUES (?, ?, ?)";
foreach( explode(',', $log_user_id) as $test ){
$values = array($template_id, $test, $application_id);
$your_db_object->execute($insert, $values);
}