PHP在MySQL数据库中插入多个数组
我使用jQuery添加/删除输入框,以添加视频链接并添加到数据库中,如下所示:PHP在MySQL数据库中插入多个数组,php,mysql,arrays,Php,Mysql,Arrays,我使用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)) { $v
<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\u insert\u id 是否已将数据库表中的id字段标记为自动递增 因为根据当前代码,$id不会在任何地方更新。因此,它采用默认值并插入 我建议在启动foreach循环之前初始化$id,然后在执行SQL语句之后执行增量
SQL::insert("INSERT INTO " . NEWS_FILES . " (url, id,type) VALUES (?, ?, ?)", $value['video_data'], $id, "video");
$i++;
必须通过php创建数组值 $ar=新阵列; $ar[]=null; 您可以通过多部分加载提交表单数据 通过mysqldata插入命令 将数据插入表db
所有行的数字 如果您没有自动增加id,您可以使用
$id = "select max(id) from " .NEWS_FILES ; // execute sql and get maxid
而不是在foreach中添加顶级$id++ 创建$id变量..的代码在哪里。。?这就是你的问题所关心的,我们对此没有任何信息。@Ohgodwhy:$id=mysql\u insert\u id;mysql\u insert\u id-它获取上次查询中生成的id。我看不出像您这样使用mysql\u insert\u id有任何用处。即使它被初始化为某个值,它在循环期间也不会被更新,因此仍然会插入相同的id。另外,您没有告诉id列是否是自动递增的?