我使用jQuery添加/删除输入框以添加视频链接并添加到数据库中,如下所示:
<input name="video[]" class="" value="" />
<input name="video[]" class="" value="" />
我检查并过滤空值而不是像我这样插入非空值:
$id = mysql_insert_id();
foreach(array_filter($_POST['video']) as $video_url) {
if (!empty($video_url)) {
$value['video_data'] = serialize((array(
array_filter($_POST['video'])
)));
SQL::insert("INSERT INTO " . NEWS_FILES . " (url, id,type) VALUES (?, ?, ?)", $value['video_data'], $id, "video");
}
}
现在,在数据库中我看到id为两行:
但是,我需要为每个id插入一行。
我该如何解决这个问题?
修改
$id = mysql_insert_id();
答案 0 :(得分:0)
您是否已将数据库表中的id字段标记为自动增量?
因为根据当前代码,$ id不会在任何地方更新。因此它采用默认值并插入。
我建议在启动foreach循环之前初始化$ id,然后在执行SQL语句后执行增量
SQL::insert("INSERT INTO " . NEWS_FILES . " (url, id,type) VALUES (?, ?, ?)", $value['video_data'], $id, "video");
$i++;
答案 1 :(得分:0)
您必须通过php创建数组值 $ ar = new array(); $ ar [] = null; 您提交表单数据多部分加载 mysqldata插入命令 &#34;将数据插入表db&#34; &#34;对于数字所有行&#34 ;;
答案 2 :(得分:0)
如果你没有id的自动增量,你可以使用
$id = "select max(id) from " .NEWS_FILES ; // execute sql and get maxid
比你的foreach添加一个顶级$ id ++;