为每个用户mysql插入一行

时间:2017-03-09 09:22:31

标签: php mysql mysqli

嗨我有一个像下面这样的阵列,但有100个用户。

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

我有一个名为mygamestats的mysql表

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

我有以下插入声明

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

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

如何为my persons数组中的每个人插入mygamestats表

$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键值循环任何帮助非常感谢

2 个答案:

答案 0 :(得分:1)

您可以在阵列上使用foreach循环,并按以下方式执行:

$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
}

答案 1 :(得分: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);
?>