0

たくさんの人を同時にテーブルに追加したい。おそらく配列としてバッチ挿入を行う方法はありますか、それとも for each のようにループを使用する必要がありますか... mysql_query(Insert into people (name,address,email) values ('$name','$adr','$email')). どうもありがとう!

4

2 に答える 2

2

次の形式を使用できます。

"INSERT INTO table (id,value) VALUES (1,'temp1'),(2,'temp2'),(3,'temp3')"

あなたのクエリに従って:

mysql_query("insert into people (name,address,email) 
values ('$name1','$adr1','$email1'),
values ('$name2','$adr2','$email2'),
values ('$name3','$adr3','$email3'),
values ('$name4','$adr4','$email4')
");
于 2012-05-19T08:44:28.637 に答える
1
INSERT INTO people (name, address,email)
       VALUES ('$name','$adr','$email'),
              ('$name2','$adr2','$email2'),
              ('$name3','$adr3','$email3')

クエリの実装に関しては、ドキュメントには、使用する可能性が高いMySqlの新しいバージョンでは代わりにmysql_使用する必要があることが明確に記載されているため、関数から離れます。mysqli

MySQL バージョン 4.1.3 以降を使用している場合は、代わりに mysqli 拡張機能を使用することを強くお勧めします。

mysqli のマニュアル

使用例:

mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo $mysqli->connect_error;
}else{
    $mysqli->query("INSERT INTO people (name, address,email)
                    VALUES ('$name','$adr','$email'),
                           ('$name2','$adr2','$email2'),
                           ('$name3','$adr3','$email3')");
}
于 2012-05-19T08:45:19.153 に答える