Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在MySQL数据库中插入多个数组_Php_Mysql_Arrays - Fatal编程技术网

PHP在MySQL数据库中插入多个数组

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

我使用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\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列是否是自动递增的?