2017-03-09 18 views
1

こんにちは私は100人のユーザーがいるが、以下のような配列を持っている。ユーザーごとに行を挿入する

私はmygamestats

Id Person points date 
1 john  200 2017/05/01 

と呼ばれるMySQLのテーブルは、私は私の個人配列

に一人一人のためにmygamestatsテーブルに挿入することができますどのように次のINSERT文

$points="200"; 
$date="2017/06/01"; 

$sql="INSERT INTO mygamestats (Person,points,date)VALUES ('$person','$points','$date')"; 

を持っている

$persons = array("rick", "tom", "harry"); 

$sql="INSERT INTO mygamestats (Person,points,date)VALUES ('$person','200','2017/06/01')"; 

最終的に私が達成しようとしているのは、100人分のユーザーを除いてです。

Id Person points date 
1 john  200 2017/05/01 
2 rick  200 2017/06/01 
3 tom  200 2017/06/01 
4 harry 200 2017/06/01 

私はおよそバッチ挿入または単にforeachのキーと値のループにあなたのアレイ上foreachループを使用して、次の方法でそれを行うことができます任意の助けに感謝

+0

私は本当に理解できませんur質問 –

答えて

1

foreachループを使用して挿入値を連結します。

<?php 
$persons = array("rick", "tom", "harry"); 
$points="200"; 
$date="2017/06/01"; 

foreach($persons as $person){ 
    $values[] = "('".$person."','".$points."','".$date."')"; 
} 

$sql = "INSERT INTO mygamestats (person,points,date) VALUES ".implode(",",$values); 

var_dump($sql); 
?> 
1

を使用してをお読みください。

$points="200"; 
$date="2017/06/01"; 
$persons = array("rick", "tom", "harry"); 

foreach ($persons as $value) { 
    $sql="INSERT INTO mygamestats (Person,points,date) VALUES ('$value','$points','$date')"; 
    //Now execute the above query 
} 
+0

あなたができることは、OPを正しい方向に向けることです。 –

+0

これは、私の答えで示されているように、多くの挿入値を1つのステートメントに組み合わせるより効率が悪い(より遅い)1人のクエリを実行します。 – GreensterRox

関連する問題