1

我有一个关于 PHP 数组并将它们作为单个记录插入 MySQL 数据库的问题。我已经对数组进行了排序,并且可以正常工作。

这就是我为数组所拥有的:

$files = array();
            foreach($_FILES['file']['tmp_name'] as $key => $tmp_name )
            {
                $files[$key] = array
                (
                    $file_name = $_FILES['file']['name'][$key],
                    $file_type=$_FILES['file']['type'][$key],
                    $file_size =$_FILES['file']['size'][$key],
                    $file_tmp =$_FILES['file']['tmp_name'][$key]                        
                );
            }

这就是我让数组将它们作为单独的行插入到数据库中的内容:

$new = array();
            foreach($files as $key => $value)
            {
                $new[] = "'".implode("','", $value)."'";
            }
            $query = "(".implode("), (",$new).")";
            $sqlone = "INSERT INTO files (filename, filetype, filesize, filetempname) VALUES ".$query."";
            if (!mysql_query($sqlone, $conn))
            {
                die("Error: " . mysql_error().".");
            }

我遇到的问题是:我想向查询添加额外信息,但我不完全确定如何执行此操作。

我希望能够添加对文件附加到的电子邮件的引用。我基本上希望查询如下:

$sqlone = "INSERT INTO files (filename, filetype, filesize, filetempname, mailid //this is the extra column in the database) VALUES ".$query.", '1'// this is the corresponding value";

我遇到的问题是尝试向其中添加额外信息时出现错误。

大家有什么可以给我的指点吗?

提前致谢

4

1 回答 1

1

只需更改添加括号的位置(并引用您的输入):

$query = "('".implode("'), ('",$new);
$sqlone = "INSERT INTO files (filename, filetype, filesize, filetempname, mailid) VALUES ".$query."', '1')";

应导致 SQL:

INSERT INTO files (filename, filetype, filesize, filetempname, mailid) VALUES
('<file_name>', '<file_type>', '<file_size>', '<file_tmp_name>', '1')
于 2013-06-12T19:21:12.737 回答