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 に答える