使用动态日期多次插入单个数据集

时间:2014-04-23 12:45:03

标签: php mysql sql

我必须多次插入一组数据,比如n行。

INSERT INTO MyTable VALUES ("John", 123, "US");

我可以在一个SQL语句中插入所有n行吗?

这里n是动态值n是用户输入,如何进行n次插入查询,任何想法。

$sql = "INSERT INTO `mytable` VALUES(`field1`,`field2`,`date`) VALUES ";
$count = 5;
for($i=0;$i<$coutn;$i++)
{
if($type=="daily")
{
  $st=date('Y-m-d H:i:s', strtotime('+1 day', strtotime('$st')));
}
else if($type=="monthly")
{
  $st=date('Y-m-d H:i:s', strtotime('+30 day', strtotime('$st')));
}

$sql .= " ('john','123','$st' )";
}

这是正确的方法..

1 个答案:

答案 0 :(得分:0)

你可以这样做:

$sql = "INSERT INTO `mytable` VALUES(`field1`,`field2`,`date`) VALUES ";
$count = 5;
$arr = array();
for($i=0;$i<$coutn;$i++)
{
if($type=="daily")
{
  $st=date('Y-m-d H:i:s', strtotime('+1 day', strtotime('$st')));
}
else if($type=="monthly")
{
  $st=date('Y-m-d H:i:s', strtotime('+30 day', strtotime('$st')));
}

$arr[] = " ('john','123','$st' )";
}
$sql .= implode(',', $arr);