多文件上传sql/php

多文件上传sql/php,php,mysql,Php,Mysql,我试图上传多个文件,然后在mysql数据库中插入文件名 我的问题是插入名称,它只存储最后一个文件名 for($i=0;$i<count($_FILES['file']['size']);$i++){ if(strstr($_FILES['file']['type'][$i], 'image')!==false){ $file = 'uploads/'.time().' - '.$_FILES['file']['name'][$i]; move_upl

我试图上传多个文件,然后在mysql数据库中插入文件名 我的问题是插入名称,它只存储最后一个文件名

for($i=0;$i<count($_FILES['file']['size']);$i++){
    if(strstr($_FILES['file']['type'][$i], 'image')!==false){
        $file = 'uploads/'.time().' - '.$_FILES['file']['name'][$i];
        move_uploaded_file($_FILES['file']['tmp_name'][$i],$file);
        $na=$_FILES['file']['name'][$i];

        $sql="INSERT INTO img (img_name) VALUES ('$na');";
    }
}

for($i=0;$i
for($i=0;$ii)如果缩进代码,会更清楚发生了什么在for循环之外调用mysql_query()函数?如果是,那么您现在知道解决方案了……我看到您设置了
$sql
,但您何时运行该查询?看起来您实际上是在循环之后运行查询。尝试
$sql=“query here;”;
@Nic:这可能行不通。PHP不喜欢您在一次调用中运行多个查询。
for($i=0;$i<count($_FILES['file']['size']);$i++){
    if(strstr($_FILES['file']['type'][$i], 'image')!==false){
        $file = 'uploads/'.time().' - '.$_FILES['file']['name'][$i];
        move_uploaded_file($_FILES['file']['tmp_name'][$i],$file);
        $na=$_FILES['file']['name'][$i];

        $sql="INSERT INTO img (img_name) VALUES ('$na');";
    }
}
for($i=0;$i<count($_FILES['file']['size']);$i++){
    if(strstr($_FILES['file']['type'][$i], 'image')!==false){
        $file = 'uploads/'.time().' - '.$_FILES['file']['name'][$i];
        move_uploaded_file($_FILES['file']['tmp_name'][$i],$file);
        $na=$_FILES['file']['name'][$i];

        $sql="INSERT INTO img (img_name) VALUES ('$na');";
        mysql_query($con,$sql); // note: $con is your connection string
    }
}