我正计划在我的MySQL中插入很多行,我的代码是为每个日期插入一行,并且我有一个日期开始和日期结束所以对于每个日期我要插入1行 请帮我使用Php MySQL插入我的Wamp服务器
我想在我的datestart和dateend之间插入所有日期,你能不能帮我解决这个问题
答案 0 :(得分:1)
在mysql中一次插入多行,你需要在第一组数据后添加一个逗号
<?php
$con=mysqli_connect("example.com","mysqluser","mysqlpw","my_db");
if (mysqli_connect_errno())
{
echo "Failed to connect: " . mysqli_connect_error();
}
mysqli_query($con,"INSERT INTO tablename(`uid`, `firstname`, `lastname`) VALUES ('15', 'James', 'thompson'),('25', 'Michael', 'Bagwell')");
mysqli_close($con);
?>
每增加一行,添加另一行,('id','first','last')
由于您的请求在此处发生了很大变化,因此日期更新
<?php
$startdate = strtotime($_POST["startdate"]);
$enddate = strtotime($_POST["enddate"]);
$sdate = date('Y-m-d',$startdate);
$edate = date('Y-m-d',$enddate);
$datediff = $sdate - $edate;
$countdays = floor($datediff/(60*60*24));
$query = "INSERT INTO tablename(`incdate`, `data1`, `data2`) VALUES ('" . $sdate . "', 'data', 'data')"
for ($i = 1; $i < $countdays; $i++) {
$sdate->add(new DateInterval('P1D'));
$query .= "('" . $sdate . "', 'data', 'data')"
}
$con=mysqli_connect("example.com","peter","abc123","my_db");
if (mysqli_connect_errno())
{
echo "Failed to connect: " . mysqli_connect_error();
}
mysqli_query($con, $query);
mysqli_close($con);
?>
未经测试但应该有效,它会在输入的开始日期和结束日期中发现差异,然后在适当的时候将每一天添加到查询中 - 一旦完成,它就会运行查询